Use of "find" command

3 views (last 30 days)
Alexandre Lopes
Alexandre Lopes on 29 Sep 2016
Commented: Alexandre Lopes on 1 Oct 2016
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!

Accepted Answer

Walter Roberson
Walter Roberson on 29 Sep 2016
Floating point roundoff. Those values only look like they are integers.
  3 Comments
Walter Roberson
Walter Roberson on 29 Sep 2016
You can use ismembertol() . The first output is a logical vector; the second output is indices.
Alexandre Lopes
Alexandre Lopes on 1 Oct 2016
Thanks!

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!