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?

Answers (4)

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.
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

Asked:

on 26 Sep 2016

Moved:

on 11 Jul 2025

Community Treasure Hunt

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

Start Hunting!