Обчислення похибок вимірювань у Python

Зміст

Всіх вітаю! У сьогоднішній статті ми створимо програму для обчислення похибок, а саме абсолютної та відносної. Також детально розглянемо код та протестуємо його.

Основні визначення

Що таке абсолютна похибка?

Абсолютна похибка — це різниця між вимірюваним значенням та середнім значенням.

Формула абсолютної похибки виглядає так:

формула абсолютної похибки

Значення

Визначення

a (виміряне)

Виміряне значення, похибку якого ми хочемо обчислити

a (середнє)

Середнє значення виміряної величини.

Що таке відносна похибка?

Відносна похибка — це відношення абсолютної похибки та середнього значення.

Формула відносної похибки виглядає так:

формула відносної похибки

Значення

Визначення

a (абсолютне)

Абсолютна похибка.

a (середнє)

Середнє значення виміряної величини.

Створення програми

Структура коду

Для початку слід вирішити, яку саме структуру коду ми будемо використовувати. Ми будемо писати програму за допомогою класу та методів. Тобто будемо притримуватися концепції ООП.

Отже, на початку створюємо клас та методи:

class ErrorsAnalysis:
    def __init__(self):
        pass

    def absolute_error(self):
        pass

    def relative_error(self):
        pass

    def results(self):
        pass

Тепер нам треба записати головні атрибути у конструкторі def __init__(self) для нашого майбутнього об’єкта:

class ErrorsAnalysis:
    def __init__(self, measured_value):
        self.measured_value = measured_value
        self.absolute = 0
        self.relative = 0

    def absolute_error(self):
        pass

    def relative_error(self):
        pass

    def results(self):
        pass

Поля

Означення

self.measured_value

Це атрибут є єдиним, який ми вказуємо у класі. У цей параметр ми буде записувати список з даними, які хочемо дослідити на похибки.

self.absolute

Результат абсолютної похибки.

self.relative

Результат відносної похибки.

Створення методу для обчислення абсолютної похибки

Далі перейдемо до реалізації методів у нашому класі. Спершу створимо метод для обчислення абсолютної похибки:

def absolute_error(self):
    absolute_values = []
    middle_value = sum(self.measured_value) / (len(self.measured_value))

    for unit in self.measured_value:
        self.absolute = abs(unit - middle_value)
        absolute_values.append(self.absolute)

    self.absolute = max(absolute_values)
    return self.absolute

Створюємо окремий список суто для обчислених абсолютних значень:

absolute_values = []

Обчислюємо середнє значення нашого списку з даними:

middle_value = sum(self.measured_value) / (len(self.measured_value))

У цій частині ми створюємо цикл for, де проходимося по кожному значенню у списку з даними. Далі у тілі циклу обчислюємо абсолютну похибку та додаємо у список absolute_values:

for unit in self.measured_value:
    self.absolute = abs(unit - middle_value)
    absolute_values.append(self.absolute)

Далі визначаємо максимальне значення у списку absolute_values та записуємо у атрибут self.absolute:

self.absolute = max(absolute_values)

Повертаємо значення абсолютної похибки:

return self.absolute

Створення методу для обчислення відносної похибки

Наступним кроком створюємо метод relative_error(self) для обчислення відносної похибки. Ось повний код методу:

def relative_error(self):
    middle_value = sum(self.measured_value) / (len(self.measured_value))
    self.relative = (self.absolute / middle_value) * 100

    return self.relative

Спершу обчислюємо середнє значення:

middle_value = sum(self.measured_value) / (len(self.measured_value))

Обчислюємо відносну похибку:

self.relative = (self.absolute / middle_value) * 100

Тестування коду

У кінці-кінців слід протестувати код та зрозуміти, чи працює він. Запустимо код та отримаємо наступні результати:

Measurement results:
Absolute error: 3.43
Relative_error: 48.75%

Висновок

У цьому матеріалі ми ознайомилися з тим, що таке абсолютна та відносна похибки як їх обчислювати. Також ми розглянули як писати код зі структурою ООП. Всім дякую за увагу!

Поділись своїми ідеями в новій публікації.
Ми чекаємо саме на твій довгочит!
Mystique Lord
Mystique Lord@nocturnal_reader

Нічний читач

183Прочитань
17Автори
6Читачі
На Друкарні з 14 липня

Більше від автора

  • Функції sorted() та sum() у Python

    Всіх вітаю! У цій статті ми розглянемо дві вбудовані функції під назвами sorted() та sum(). Також наведемо приклади до кожної з цих функцій у коді.

    Теми цього довгочиту:

    Програмування
  • Функції frozenset() та filter() у Python

    Всіх вітаю! Сьогодні ми будемо розглядати вбудовані функції frozenset() та filter(). Будемо розбирати кожгу функцію окремо на основі прикладів.

    Теми цього довгочиту:

    Програмування
  • Функції max() та min() у Python

    Всіх вітаю! У цій невеличкій статті ми розберемо вбудовані функції min() та max(). Насправді дуже прості суті цих функцій, тож оглянемо кожну з них по черзі.

    Теми цього довгочиту:

    Програмування

Вам також сподобається

Коментарі (0)

Підтримайте автора першим.
Напишіть коментар!

Вам також сподобається