Если следующее уравнение поэлементно равно True, то allclose возвращает True.absolute (обр1 - обр2) < = (atol + rtol * absolute (arr2))
Поскольку приведенное выше уравнение не является симметричным относительно arr1 и arr2, в некоторых редких случаях allclose (arr1, arr2) может отличаться от allclose (arr2 , arr1).
Синтаксис: numpy.allclose< /a> (arr1, arr2, rtol, atol, equal_nan = False)
Параметры:
arr1: [array_like] Входной 1-й массив .
arr2: [array_like] Введите второй массив.
rtol: [float] Параметр относительного допуска.
atol: [float] Параметр абсолютного допуска.
equal_nan: [bool] Сравнивать ли NaN как равные. Если значение равно True, значения NaN в массиве arr1 будут считаться равными значениям NaN в массиве arr2 в выходном массиве.Возврат: [bool] Возвращает значение True, если два массива равны в пределах заданного допуска. , иначе возвращается False.
Код № 1:
# Программа Python, объясняющая
# allclose () функция
import
numpy as geek
# входные массивы
in_arr1
=
geek.array ([
5e5
,
1e
-
7
,
4.000004e6
])
print
(
"1st Input array:"
, in_arr1)
in_arr2
=
geek.array ( [
5.00001e5
,
1e
-
7
,
4e6
])
print
(
"2nd Input array:"
, in_arr2)
# установка абсолютного и относительного допуск
rtol
=
1e
-
05
atol
=
1e
-
08
res
=
geek.allclose (in_arr1, in_arr2, rtol, atol)
print
(
" Являются ли два массива равными внутри допуск: "
, res)
Выход:
1-й Входной массив: [5.00000000e + 05 1.00000000e-07 4.00000400e + 06] 2-й Входной массив: [5.00001000e + 05 1.00000000e-07 4.00000000e + 06] Два массива равны в пределах допуска: True
Код № 2:
# Программа Python, объясняющая
# allclose () function
import
numpy as geek
# входные массивы
in_arr1
=
geek.array ([
5e5
,
1e
-
7
,
4.000004e6
])
print
(
"1st Input array:"
, in_arr1)
in_arr2
=
geek.array ([
5.00001e5
,
1e
-
7
,
4e6
])
печать
(
"Второй входной массив:"
, in_arr2)
# установка абсолютного и относительного допуска
rtol
=
1e
-
06
atol
=
1e
-
09
res
=
geek.allclose (in_arr1, in_arr2, rtol, atol)
print
(
" Два массива равны в пределах допуска: "
, res)
Выход:
1-й входной массив: [5000000.0, 1e-07, 40000004.0] 2-й входной массив: [5000001.0, 1e-07, 40000000.0] Равны ли два массива в пределах допуска: True
Код № 3:
Выход: 1-й входной массив: [500000.0, 1e-07, nan] 2-й входной массив: [500000.0, 1e-07, nan] Два массива равны в пределах допуска: False Код № 4:
|
Вывод:
1-й входной массив: [500000.0, 1e-07, nan] 2-й входной массив: [ 500000.0, 1e-07, nan] Равны ли два массива в пределах допуска: True