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?

Respuestas (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.
Jennifer Rebbin
Jennifer Rebbin el 10 de Jul. de 2025
Movida: Stephen23 el 11 de Jul. de 2025
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

Categorías

Preguntada:

el 26 de Sept. de 2016

Movida:

el 11 de Jul. de 2025

Community Treasure Hunt

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

Start Hunting!

Translated by