Untitled
unknown
plain_text
2 years ago
2.1 kB
7
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