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являются скалярами, возвращается одно булево значение.См. также
Примечания
Новое в версии 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