フィルターのクリア

Problem using the FIND function to identify the position of a negative decimal number.

3 ビュー (過去 30 日間)
Hello.
I need to find the position of a negative decimal number in a vector. The code I've used is as follows:
a = -2:0.05:0;
num = -0.95;
position = find(a==-0.95);
The problem is with some numbers like the one set in num. Although the number exists within the a vector, the result I get is:
1-0 empty double row vector
What could be the problem? and how can I fix it?. Thanks.
Best regards

採用された回答

Matt J
Matt J 2019 年 12 月 28 日
編集済み: Matt J 2019 年 12 月 28 日
The numbers you are comparing differ by small floating point errors,
>> a(22)-(-0.95)
ans =
-1.1102e-16
Use ismembertol, instead.
>> [~,position]=ismembertol(num,a)
position =
22

その他の回答 (1 件)

Image Analyst
Image Analyst 2019 年 12 月 28 日

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by