Spec-Zone.ru › NumPy 1.10

numpy.allclose

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

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

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

Если любой из массивов содержит одну или несколько NaN, возвращается False. Бесконечности (Inf) считаются равными, если они находятся в одном и том же месте и имеют одинаковый знак в обоих массивах.

Параметры:

a, b : array_like

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

rtol : float

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

atol : float

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

equal_nan : bool

Указывает, сравнивать ли NaN как равные. Если True, NaN в a будут считаться равными NaN в b в результирующем массиве.

Новая в версии 1.10.0.

Возвращает:

allclose : bool

Возвращает True, если два массива равны в пределах заданной толерантности; False в противном случае.

См. также

isclose, all, any

Примечания

Если следующее уравнение выполняется поэлементно, то allclose возвращает True.

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

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

Примеры

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

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

Spec-Zone.ru

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