numpy.allclose() в Python

| | | | | | | | | | | | | | |

Если следующее уравнение поэлементно равно 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:

# Объяснение программы Python
# функция allclose ()


import nu mpy как гик


# входные массивы

i n_arr1 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

print ( "1st Input array:" , in_arr1)


in_arr2 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

print ( " Второй входной массив: " , in_arr2)


# установка абсолютного и относительного допуска

rtol = 1e - 06

atol = 1e - 09

res = geek.allclose (in_arr1, in_arr2, rtol, atol)

print ( "Являются ли два массива равными в пределах допуска:" , res)

Выход:

1-й входной массив: [500000.0, 1e-07, nan] 2-й входной массив: [500000.0, 1e-07, nan] Два массива равны в пределах допуска: False 

Код № 4:


# Программа Python, объясняющая
# allclose () функция


import numpy as geek


# входные массивы

in_arr1 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

print ( "1st Input array:" , in_arr1)


in_arr2 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

print ( " Второй входной массив: " , in_arr2)


# установка абсолютного и относительного допуска

rtol = 1e - 06

atol = 1e - 09


res = geek.all close (in_arr1, in_arr2, rtol, atol ,

equal_nan = True )


print ( " Равны ли два массива в пределах допуска: " , res)

Вывод:

1-й входной массив: [500000.0, 1e-07, nan] 2-й входной массив: [ 500000.0, 1e-07, nan] Равны ли два массива в пределах допуска: True