Effacer les filtres
Effacer les filtres

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

3 vues (au cours des 30 derniers jours)
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

Réponse acceptée

Matt J
Matt J le 28 Déc 2019
Modifié(e) : Matt J le 28 Déc 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

Plus de réponses (1)

Image Analyst
Image Analyst le 28 Déc 2019

Catégories

En savoir plus sur Introduction to Installation and Licensing dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by