How to check equality of very small numbers ?

14 visualizaciones (últimos 30 días)
Sajid Afaque
Sajid Afaque el 16 de Feb. de 2022
Editada: Stephen23 el 16 de Feb. de 2022
Hey Community !!
I have two very closely related numbers
A = 1.309998142150646e-09
B = 1.309998162564509e-09
now if i need to compare two numbers only upto 5 precision points , i.e.
A = 1.309998e-09 %how can i get this from above mentioned A
B = 1.309998e-09
now my condition A == B will satisfy,
so what can i do to check if both numbers are equal upto 5 precision points, keeping the exponential part ?

Respuesta aceptada

Stephen23
Stephen23 el 16 de Feb. de 2022
Editada: Stephen23 el 16 de Feb. de 2022
A = 1.309998142150646e-09;
B = 1.309998162564509e-09;
Method one: compare the absolute difference against a tolerance:
tol = 1e-14;
abs(A-B)<tol
ans = logical
1
Method two: use ISMEMBERTOL (the 3rd argument specifies the relative tolerance):
ismembertol(A,B,1e-5)
ans = logical
1
Do NOT round the values, as this introduces artifacts into the data:

Más respuestas (0)

Categorías

Más información sobre Logical en Help Center y File Exchange.

Productos


Versión

R2020b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by