How to set up an approximately equal conditional statement?

조회 수: 12 (최근 30일)
Nicholas Henderson
Nicholas Henderson 2016년 9월 26일
이동: Stephen23 2025년 7월 11일
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.

John D'Errico
John D'Errico 2016년 9월 26일
What would this tell you?
abs(x - y)

Walter Roberson
Walter Roberson 2016년 9월 26일
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

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by