How to set up an approximately equal conditional statement?
Mostra commenti meno recenti
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?
Risposte (4)
Star Strider
il 26 Set 2016
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
il 26 Set 2016
What would this tell you?
abs(x - y)
Walter Roberson
il 26 Set 2016
0 voti
You may wish to look at ismembertol()
Jennifer Rebbin
il 10 Lug 2025
Spostato: Stephen23
il 11 Lug 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)
isapprox(1,1.02,AbsoluteTolerance=0.01)
Categorie
Scopri di più su Logical in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!