Untitled

 avatar
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