Spec-Zone.ru › NumPy 1.11

numpy.isclose

numpy.isclose(a, b, rtol=1e-05, atol=1e-08, equal_nan=False) [source]

Возвращает булевый массив, где два массива поэлементно равны в пределах определённой толерантности.

Значения толерантности положительны, обычно очень малы. Относительное различие (rtol * abs(b)) и абсолютное различие atol складываются, чтобы сравнить с абсолютным различием между a и b.

Параметры:

a, b : array_like

Входные массивы для сравнения.

rtol : float

Параметр относительной толерантности (см. Примечания).

atol : float

Параметр абсолютной толерантности (см. Примечания).

equal_nan : bool

Сравнивать ли NaN как равные. Если True, NaN в a будут считаться равными NaN в b в выходном массиве.

Возвращает:

y : array_like

Возвращает булевый массив, где a и b равны в пределах заданной толерантности. Если оба a и b являются скалярами, возвращается одно булево значение.

См. также

allclose

Примечания

Новое в версии 1.7.0.

Для конечных значений isclose использует следующее уравнение для проверки, являются ли два значения с плавающей точкой эквивалентными.

absolute(a - b) <= (atol + rtol * absolute(b))

Вышеприведённое уравнение несимметрично относительно a и b, поэтому isclose(a, b) может отличаться от isclose(b, a) в некоторых редких случаях.

Примеры

>>> np.isclose([1e10,1e-7], [1.00001e10,1e-8])
array([True, False])
>>> np.isclose([1e10,1e-8], [1.00001e10,1e-9])
array([True, True])
>>> np.isclose([1e10,1e-8], [1.0001e10,1e-9])
array([False, True])
>>> np.isclose([1.0, np.nan], [1.0, np.nan])
array([True, False])
>>> np.isclose([1.0, np.nan], [1.0, np.nan], equal_nan=True)
array([True, True])

© 2008–2016 NumPy Developers
Licensed under the NumPy License.
https://docs.scipy.org/doc/numpy-1.11.0/reference/generated/numpy.isclose.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API