Clear Filters
Clear Filters

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

3 views (last 30 days)
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

Accepted Answer

Matt J
Matt J on 28 Dec 2019
Edited: Matt J on 28 Dec 2019
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

More Answers (1)

Image Analyst
Image Analyst on 28 Dec 2019

Categories

Find more on Introduction to Installation and Licensing in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!