why when i use find command to find the index i face problem

1 Ansicht (letzte 30 Tage)
mehmet salihi
mehmet salihi am 18 Mai 2021
Beantwortet: Mathieu NOE am 18 Mai 2021
please it is urgent for me, why when i try to find the index of 0.3 it gives me the double information rather than showing the index 3 like others.

Antworten (2)

Daniel Pollard
Daniel Pollard am 18 Mai 2021
I had a play with my version of Matlab and found the same result. I think what you've stumbled on is a floating point error. There is a workaround:
t = 0:0.1:1.8;
find(round(t, 10) == 0.3)
ans = 4
This rounds all the elements of t to 10 significant figures before performing find.

Mathieu NOE
Mathieu NOE am 18 Mai 2021
hello
no , matlab tells you that it could NOT find an exact match to value = 0.3 (there must be a very tiny numerical difference , so use method with a tolerance (to be defined) :
ind = find(abs(t - 0.3)<tol)

Kategorien

Mehr zu Matrix Indexing finden Sie in Help Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by