Als de volgende vergelijking elementsgewijs True is, geeft allclose True terug.absoluut (arr1 - arr2) "= (atol + rtol * absoluut (arr2))
Omdat de bovenstaande vergelijking niet symmetrisch is in arr1 en arr2, in sommige zeldzame gevallen allclose (arr1, arr2) kan verschillen van allclose (arr2 , arr1).
Syntaxis: numpy.allclose< /a> (arr1, arr2, rtol, atol, equal_nan = False)
Parameters:
arr1: [array_like] Voer de eerste array in .
arr2: [array_like] Voer 2e array in.
rtol: [float] De relatieve tolerantieparameter.
atol: [float] De absolute tolerantieparameter.
equal_nan: [bool] Of NaN`s als gelijk moeten worden vergeleken. Indien True, worden NaN`s in arr1 beschouwd als gelijk aan NaN`s in arr2 in de uitvoerarray.Return: [bool] Geeft True als de twee arrays gelijk zijn binnen de opgegeven tolerantie , anders wordt False geretourneerd.
Code #1:
# Python-programma met uitleg
# allclose () functie
import
numpy als geek
# input arrays
in_arr1
=
geek.array ([
5e5
,
1e
-
7
,
4.000004e6
])
print
(
"1e invoerarray:"
, in_arr1)
in_arr2
=
geek.array ( [
5.00001e5
,
1e
-
7
,
4e6
])
print
(
"2nd Input array:"
, in_arr2)
# instelling absoluut en relatief tolerantie
rtol
=
1e
-
05
atol
=
1e
-
08
res
=
geek.allclose (in_arr1, in_arr2, rtol, atol)
print
(
" Zijn de twee arrays gelijk binnen de tolerantie: "
, res)
Afsluiten:
1e Input array: [5.00000000e + 05 1.00000000e-07 4.00000400e + 06] 2e Input array: [5.000001000e + 05 1.00000000e-07 4.00000000e + 06] Zijn de twee arrays gelijk binnen de tolerantie: True
Code #2:
# Python-programma met uitleg
# allclose () functie
import
numpy as geek
# input arrays
in_arr1
=
geek.array ([
5e5
,
1e
-
7
,
4.000004e6
])
print
(
"1e invoerarray:"
, in_arr1)
in_arr2
=
geek.array ([
5.00001e5
,
1e
-
7
,
4e6
])
print
(
"2nd Input array:"
, in_arr2)
# instelling van absolute en relatieve tolerantie
rtol
=
1e
-
06
atol
=
1e
-
09
res
=
geek.allclose (in_arr1, in_arr2, rtol, atol)
print
(
" Zijn de twee arrays gelijk binnen de tolerantie: "
, res)
Afsluiten:
1e invoerarray: [5000000.0, 1e-07, 40000004.0] 2e invoerreeks: [5000001.0, 1e-07, 40000000.0] Zijn de twee arrays gelijk binnen de tolerantie: True
Code #3:
Afsluiten: 1e invoerarray: [500000.0, 1e-07, nan] 2e Input array: [500000.0, 1e-07, nan] Zijn de twee arrays gelijk binnen de tolerantie: False Code #4:
|
Uitgang :
1e Invoerarray: [500000.0, 1e-07, nan] 2e Invoerarray: [ 500000.0, 1e-07, nan] Zijn de twee arrays gelijk binnen de tolerantie: True