numpy.allclose () en Python

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

Si la siguiente ecuación es True a nivel de elementos, entonces allclose devuelve True.
absoluto (arr1 - arr2) < = (atol + rtol * absoluto (arr2))
Dado que la ecuación anterior no es simétrica en arr1 y arr2, en algunos casos raros allclose (arr1, arr2) puede diferir de allclose (arr2 , arr1).

Sintaxis: numpy.allclose< /a> (arr1, arr2, rtol, atol, equal_nan = False)

Parámetros:
arr1: [array_like] Ingrese la primera matriz .
arr2: [array_like] Ingrese la segunda matriz.
rtol: [float] El parámetro de tolerancia relativa.
atol: [float] El parámetro de tolerancia absoluta.
equal_nan: [bool] Si comparar NaN como iguales. Si es Verdadero, los NaN en arr1 se considerarán iguales a los NaN en arr2 en la matriz de salida.

Return: [bool] Devuelve True si las dos matrices son iguales dentro de la tolerancia dada , de lo contrario devuelve False.

Código # 1:


# Programa Python, explicando
#
allclose () función


import numpy como geek


# matrices de entrada

< clase de código = "simple"> in_arr1 = geek.array ([ 5e5 , 1e - 7 , 4.000004e6 ])

imprimir ( "1ra matriz de entrada:" , in_arr1)


in_arr2 = geek.array ( [ 5.00001e5 , 1e - 7 , 4e6 ])

print ( "2nd Input array:" , in_arr2)


# configuración absoluta y relativa tolerancia

rtol = 1e - 05

atol = 1e - 08


res = < clase de código = "simple"> geek.allclose (in_arr1, in_arr2, rtol, atol)

print ( " ¿Las dos matrices son iguales dentro de la tolerancia: " , res)

Salida:

1ra Matriz de entrada: [5.00000000e + 05 1.00000000e-07 4.00000400e + 06] Segunda matriz de entrada: [5.00001000e + 05 1.00000000e-07 4.00000000e + 06] ¿Son las dos matrices iguales dentro de la tolerancia: Verdadero 

Código # 2:


# Explicación del programa Python
# allclose () función


import numpy as geek


# matrices de entrada

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

imprimir ( "1ra matriz de entrada:" , in_arr1)


in_arr2 = < clase de código = "simple"> geek.array ([ 5.00001e5 , 1e - 7 , 4e6 ])

imprimir ( "Segunda matriz de entrada:" , in_arr2)


# establecer tolerancia absoluta y relativa

rtol < clase de código = "palabra clave"> = 1e - 06

atol = 1e - 09


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

print ( " ¿Las dos matrices son iguales dentro de la tolerancia: " , res)

Salir:

1ra matriz de entrada: [5000000.0, 1e-07, 40000004.0] 2da matriz de entrada: [5000001.0, 1e-07, 40000000.0] ¿Las dos matrices son iguales dentro de la tolerancia?: Verdadero 

Código # 3:

# Explicación del programa Python
# allclose () función


importar nu mpy como geek


# matrices de entrada

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

print ( < clase de código = "cadena"> "primera matriz de entrada:" , in_arr1)


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

imprimir ( " 2nd Matriz de entrada: " , in_arr2)


# establecer tolerancia absoluta y relativa

rtol = 1e - 06

atol = 1e - 09

res < /código> = geek.allclose (in_arr1, in_arr2, rtol, atol)

print ( "¿Las dos matrices son iguales dentro de la tolerancia:" , res)

Salida:

1ra matriz de entrada: [500000.0, 1e-07, nan] 2. Matriz de entrada: [500000.0, 1e-07, nan] ¿Son las dos matrices iguales dentro de la tolerancia? Falso 

Código n.° 4:


# Explicación del programa Python
# allclose () función


importar numpy as geek


# matrices de entrada

< clase de código = "simple"> in_arr1 = geek.array ([ 5e5 , 1e - 7 , geek.nan])

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


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

imprimir ( " Matriz de entrada 2: " , in_arr2)


# configuración de tolerancia absoluta y relativa

rtol = 1e - 06

atol = 1e - 09


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

equal_nan = True )


imprimir ( " ¿Las dos matrices son iguales dentro de la tolerancia: " , res)

Salida:

1ra matriz de entrada: [500000.0, 1e-07, nan] 2da matriz de entrada: [ 500000.0, 1e-07, nan] ¿Las dos matrices son iguales dentro de la tolerancia?: Verdadero