How to set up an approximately equal conditional statement?

with a tolerance of a certain value like .05, how would I check if the values for example x = 1 and y = 1.02 were approximately equal?

답변 (4개)

Star Strider
Star Strider 2016년 9월 26일
I would do something like this:
x = 1;
y = 1.02;
tol = 0.05;
app_eq = @(x,y,tol) abs(x-y)<tol;
Out = app_eq(x,y,tol)
Out =
1
The result ‘Out’ is a logical value of 1 or true.
Walter Roberson
Walter Roberson 2016년 9월 26일

0 개 추천

You may wish to look at ismembertol()
Jennifer Rebbin
Jennifer Rebbin 2025년 7월 10일
이동: Stephen23 2025년 7월 11일
Starting in R2024b, you can use the isapprox function to determine if two input arrays are approximately equal. Specify the maximum allowed difference between elements using the AbsoluteTolerance name-value argument.
isapprox(1,1.02,AbsoluteTolerance=0.05)
ans = logical
1
isapprox(1,1.02,AbsoluteTolerance=0.01)
ans = logical
0

카테고리

도움말 센터File Exchange에서 Logical에 대해 자세히 알아보기

질문:

2016년 9월 26일

이동:

2025년 7월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by