Untitled
unknown
plain_text
10 months ago
2.1 kB
3
Indexable
class ErrorCalculation: def __init__(self, exact_value, measured_value): self.__exact_value = exact_value self.__measured_value = measured_value def calculate_absolute_error(self): return abs(self.__exact_value - self.__measured_value) def calculate_relative_error(self): absolute_error = self.calculate_absolute_error() if self.__exact_value != 0: return absolute_error / self.__exact_value else: return float('inf') def calculate_percentage_error(self): relative_error = self.calculate_relative_error() return relative_error * 100 def get_errors(self): absolute_error = self.calculate_absolute_error() relative_error = self.calculate_relative_error() percentage_error = self.calculate_percentage_error() return absolute_error, relative_error, percentage_error def __str__(self): absolute_error, relative_error, percentage_error = self.get_errors() return (f"Absolute Error: {absolute_error}\n" f"Relative Error: {relative_error}\n" f"Percentage Error: {percentage_error}%") class ExtendedErrorCalculation(ErrorCalculation): def __init__(self, exact_value, measured_value, unit=''): super().__init__(exact_value, measured_value) self.__unit = unit def __str__(self): absolute_error, relative_error, percentage_error = self.get_errors() return (f"Exact Value: {self._ErrorCalculation__exact_value}{self.__unit}\n" f"Measured Value: {self._ErrorCalculation__measured_value}{self.__unit}\n" f"Absolute Error: {absolute_error}{self.__unit}\n" f"Relative Error: {relative_error}\n" f"Percentage Error: {percentage_error}%") # Example usage exact_value = 760.059 measured_value = 760.058 error_calculation = ExtendedErrorCalculation(exact_value, measured_value, unit=' mmHg') # Print errors print(error_calculation)
Editor is loading...
Leave a Comment