Azzera filtri
Azzera filtri

Test of Approximately Equality

28 visualizzazioni (ultimi 30 giorni)
John Miller
John Miller il 16 Giu 2012
Commentato: Walter Roberson il 29 Dic 2017
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
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
Walter Roberson il 17 Giu 2012
Some of those expressions will have difficulty if "b" is negative.
Greg Heath
Greg Heath il 18 Giu 2012
1. Try using "abs" on the RHS
2. Might also consider median(abs(b),abs(c))
Greg

Accedi per commentare.


Stephen Nagy
Stephen Nagy il 29 Dic 2017
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
Walter Roberson il 29 Dic 2017
ismembertol() and uniquetol() did not exist in 2012 though ;-)

Accedi per commentare.


per isakson
per isakson il 16 Giu 2012
See isalmost(a,b,tol) in the File Exchange. There are more.

Categorie

Scopri di più su Line Plots in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by