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

2 次查看(过去 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 CenterFile Exchange 中查找有关 MATLAB 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by