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

1 visualización (últimos 30 días)
mehmet salihi
mehmet salihi el 18 de Mayo de 2021
Respondida: Mathieu NOE el 18 de Mayo de 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.

Respuestas (2)

Daniel Pollard
Daniel Pollard el 18 de Mayo de 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 el 18 de Mayo de 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)

Categorías

Más información sobre Matrix Indexing en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by