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!

 採用された回答

Walter Roberson
Walter Roberson 2016 年 9 月 29 日

0 投票

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

3 件のコメント

Alexandre Lopes
Alexandre Lopes 2016 年 9 月 29 日
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 2016 年 9 月 29 日
You can use ismembertol() . The first output is a logical vector; the second output is indices.
Alexandre Lopes
Alexandre Lopes 2016 年 10 月 1 日
Thanks!

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeResizing and Reshaping Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by