I've a vector with 20000 elements. taux1=[0.01 0.02 ... 200]. If I type p=find(taux1==0.02), it returns p=2. Ok! If I type max(taux1), it returns ans=200.0000. Ok! But, if p=find(taux1==200), the answer is p=Empty matrix: 1-by-0. Others "round" values have shown the same answer, even if the entry have consider decimals (for example, taux1==200.0000). However, if I type p=find(taux1==max(taux1)), it returns p=20000. What may be happening? Thanks!

 Akzeptierte Antwort

Walter Roberson
Walter Roberson am 29 Sep. 2016

0 Stimmen

Floating point roundoff. Those values only look like they are integers.

3 Kommentare

Alexandre Lopes
Alexandre Lopes am 29 Sep. 2016
Thank you, Walter. Do you suggest any modification in my "find" command? I tried the "areEssentiallyEqual...", but it didn't work within this command...
Walter Roberson
Walter Roberson am 29 Sep. 2016
You can use ismembertol() . The first output is a logical vector; the second output is indices.
Alexandre Lopes
Alexandre Lopes am 1 Okt. 2016
Thanks!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by