'find' returning empty vector

20 vues (au cours des 30 derniers jours)
Sian
Sian le 14 Juin 2022
Commenté : Stephen23 le 14 Juin 2022
I've written this section of code:
for k=0.05:0.05:38
index=find(A(:,2)==k);
c=max(A(index,1));
end
but for k=37.7, it returns index as a 0x1 empty double column vector. For all other values of k it works. However, when I simply do:
index=find(A(:,2)==37.7);
it returns a number. Any ideas why the loop won't? Thanks

Réponse acceptée

KSSV
KSSV le 14 Juin 2022
tol = 10^-3 ;
index=find(abs(A(:,2)-37.7)<tol);
Read about comparing floating point numbers.

Plus de réponses (0)

Catégories

En savoir plus sur Loops and Conditional Statements 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