How to check equality of very small numbers ?

조회 수: 7 (최근 30일)
Sajid Afaque
Sajid Afaque 2022년 2월 16일
편집: Stephen23 2022년 2월 16일
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 ?

채택된 답변

Stephen23
Stephen23 2022년 2월 16일
편집: Stephen23 2022년 2월 16일
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:

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Matrix Indexing에 대해 자세히 알아보기

제품


릴리스

R2020b

Community Treasure Hunt

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

Start Hunting!

Translated by