РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
195 of 541 menu

Функция allclose

Функция allclose выполняет поэлементное сравнение двух массивов и возвращает True, если все соответствующие элементы равны в пределах заданных допусков. Она особенно полезна при работе с числами с плавающей точкой, где прямое сравнение на равенство часто дает ложный результат из-за погрешностей вычислений.

Первым и вторым параметрами передаются сравниваемые массивы. Третьим параметром можно задать относительную погрешность rtol (по умолчанию 1e-05), четвертым - абсолютную погрешность atol (по умолчанию 1e-08). Пятым параметром передается флаг equal_nan, который определяет, считать ли элементы NaN равными друг другу.

Синтаксис

np.allclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False)

Пример

Проверим приближенное равенство двух массивов чисел с плавающей точкой:

import numpy as np arr1 = np.array([1.0, 2.0, 3.0]) arr2 = np.array([1.0000001, 2.0000001, 3.0000001]) res = np.allclose(arr1, arr2) print(res)

Результат выполнения кода:

True

Пример

Сравним массивы с разными значениями абсолютной погрешности:

import numpy as np arr1 = np.array([0.1, 0.2, 0.3]) arr2 = np.array([0.15, 0.25, 0.35]) res1 = np.allclose(arr1, arr2, atol=0.01) res2 = np.allclose(arr1, arr2, atol=0.1) print(res1) print(res2)

Результат выполнения кода:

False True

Пример

Сравним массивы, где элементы отличаются на величину, большую чем допуск:

import numpy as np arr1 = np.array([10.0, 20.0, 30.0]) arr2 = np.array([10.1, 20.1, 30.1]) res = np.allclose(arr1, arr2, rtol=0.001, atol=0.01) print(res)

Результат выполнения кода:

False

Пример

Проверим равенство с учетом значений NaN с помощью флага equal_nan:

import numpy as np arr1 = np.array([1.0, np.nan, 3.0]) arr2 = np.array([1.0, np.nan, 3.0]) res1 = np.allclose(arr1, arr2) res2 = np.allclose(arr1, arr2, equal_nan=True) print(res1) print(res2)

Результат выполнения кода:

False True

Смотрите также

  • функцию isclose,
    которая проверяет поэлементное приближенное равенство массивов
  • функцию array_equal,
    которая проверяет строгое поэлементное равенство массивов
  • функцию array_equiv,
    которая проверяет эквивалентность формы и элементов массивов
  • функцию equal,
    которая выполняет поэлементное сравнение на строгое равенство
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить