Test of Approximately Equality
Mostra commenti meno recenti
Hello,
I have a value b and c. b and c are approximatly equal (b~c). They have +-5% difference.
I want to test of approximately equality..like this:
if b~c (with +-5% difference)
return something...
end
Risposte (3)
Jan
il 17 Giu 2012
You only have to decide if it should be 5% of the first or the second argument. Then:
if abs(b - c) < 0.05 * b
or
if abs(b - c) < 0.05 * max(b, c)
or
if abs(b - c) < 0.05 * min(b, c)
or
if abs(b - c) < 0.05 * (b + c) * 0.5
2 Commenti
Walter Roberson
il 17 Giu 2012
Some of those expressions will have difficulty if "b" is negative.
Greg Heath
il 18 Giu 2012
1. Try using "abs" on the RHS
2. Might also consider median(abs(b),abs(c))
Greg
Stephen Nagy
il 29 Dic 2017
1 voto
Your desired goal isn't entirely clear, but depending on the outcome you seek, the functions "uniquetol" and some of its related functions might be helpful.
1 Commento
Walter Roberson
il 29 Dic 2017
ismembertol() and uniquetol() did not exist in 2012 though ;-)
per isakson
il 16 Giu 2012
0 voti
Categorie
Scopri di più su Startup and Shutdown 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!