math.isclose

Nombre completo
math.isclose
Librería
math
Sintaxis

math.isclose(a, b, *, rel_tol = 1e-09, abs_tol = 0.0)

Descripción

La función math.isclose devuelve el booleano True si los dos números indicados como argumentos están suficientemente próximos, o False en caso contrario. El concepto de "proximidad" viene dado por los parámetros rel_tol y abs_tol.

Parámetros
  • a, b: Números a comparar
  • rel_tol: Tolerancia relativa. Es la máxima diferencia relativa entre ambos números para que la función devuelva True. Esta diferencia se expresa como fracción de la diferencia con respecto al máximo número. Por defecto es 1e-9.
  • abs_tol: Tolerancia absoluta. Es la máxima diferencia entre ambos números en valor absoluto. Por defecto toma el valor 0.
Resultado

El resultado devuelto por la función math.isclose es un booleano.

Ejemplos

Los números 4 y 4.1 se diferencian en 0.1. Esto supone que si establecemos la tolerancia máxima absoluta en 0, lógicamente no serán considerados "suficientemente próximos":

math.isclose(4, 4.1, abs_tol = 0)

False

Si fijamos dicha tolerancia en 0.0999999, todavía seguirían sin ser próximos:

math.isclose(4, 4.1, abs_tol = 0.09999)

False

Sin embargo, si la tolerancia se fija en 0.1 (o en un valor superior), la función ya devolvería el valor True:

math.isclose(4, 4.1, abs_tol = 0.1)

True

Siguiendo con los mismos números, su diferencia relativa (con respecto al mayor de ellos) es:

rel = (4.1 - 4) / 4.1
rel

0.02439024390243894

...es decir, un 2.4% (grosso modo).

Si fijamos la tolerancia relativa en, por ejemplo, 0.24, la función no consideraría a ambos números suficientemente próximos:

math.isclose(4, 4.1, rel_tol = 0.024)

False

Sin embargo, si fijamos la tolerancia relativa en 0.25, ahora la función ya devolvería el valor True:

math.isclose(4, 4.1, rel_tol = 0.025)

True

Enviado por admin el Mié, 20/01/2021 - 16:26