Drukarnia.BLOG

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

Inhoud

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

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

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

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

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

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

Значення

Визначення

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%

Висновок

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

Artikelen over lokale bedrijven en interessante mensen:

Deel uw ideeën in een nieuwe publicatie.
Wij wachten op jouw longread!
Magnifique numérique

Magnifique numérique

@magnifiquedigitalworld

Прекрасний цифровий світ

96Lange artikelen
2.1KBekeken
28Volgers
Steun
Op Drukarnia sinds 14 juli 2025

Meer van de auteur

  • Клас Timer у модулі threading в Python

    У цій статті ми розглянемо, поняття потоків і таймерів та їх особливості. Крім того, ми навчимося створювати власні кастомні таймери, які будуть виконувати код саме так, як нам треба.

    Onderwerpen van deze longread:

    Програмування
  • Відтепер для застосунків на Base44 можна додавати push-повідомлення

    Нещодавно компанія-розробник платформи Base44, яка дозволяє створювати застосунки за допомогою ШІ, заявила, що відтепер до своїх застосунків можна підключати push-повідомлення.

    Onderwerpen van deze longread:

    It Новини
  • Оновлення проєкту Magnifique numérique

    Відтепер Magnifique numérique — це не лише про статті з програмування, а й новини про IT та технології. Це означає, що відтепер контент стане різноманітнішим.

    Onderwerpen van deze longread:

    Оновлення

Mogelijk bent u ook geïnteresseerd in:

Opmerkingen (0)

Steun eerst de auteur.
Schrijf een reactie!

Mogelijk bent u ook geïnteresseerd in: