Nou Generator de prompt AI — scrie prompturi mai bune pentru ChatGPT, Claude și Gemini →

Comparații Sigure în Virgulă Mobilă cu isclose și allclose în NumPy

Compararea sigură a numerelor reale float cu toleranță pentru evitarea erorilor de precizie hardware.

Sintaxă
np.isclose(a, b, rtol=1e-05, atol=1e-08) / np.allclose(a, b)

Din cauza reprezentării numerelor în virgulă mobilă conform standardului IEEE 754, expresii precum 0.1 + 0.2 == 0.3 returnează fals (deoarece rezultatul real hardware este 0.30000000000000004). Pentru a evita erorile subtile în teste științifice:

  • np.isclose(): Compară element cu element dacă abs(a - b) <= atol + rtol * abs(b).
  • np.allclose(): Returnează un singur boolean True dacă toate elementele sunt egale în limitele de toleranță.
Exemplu: Verificarea sigură a egalității matricelor de probabilitate
import numpy as np

a = np.array([0.1 + 0.2, 1.0])
b = np.array([0.3, 1.0])

# Comparația directă == eșuează pe primul element:
print("Egalitate directă ==:", a == b)

# Comparația sigură cu toleranță matematică:
print("allclose:", np.allclose(a, b))

Comunitate & Schimb de cunoștințe

Întrebări & Exemple de Cod: Comparații Sigure în Virgulă Mobilă cu isclose și allclose

Ai o nelămurire despre utilizarea comenzii Comparații Sigure în Virgulă Mobilă cu isclose și allclose sau ai descoperit un truc / fragment de cod util? Distribuie-l cu ceilalți programatori!

💬

Fii primul care pune o întrebare sau distribuie un fragment de cod / prompt!

Nu au fost adăugate încă întrebări sau exemple de cod pentru această pagină. Dacă ai întâlnit o problemă sau ai un snippet util, adaugă-l mai jos pentru a-i ajuta pe ceilalți.

Comunitate Adaugă o întrebare sau distribuie un cod

Moderare & Siguranță:

Pentru a menține calitatea și securitatea informațiilor, fiecare întrebare sau fragment de cod/prompt este analizat (manual sau prin moderare asistată de AI) înainte de publicare.