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

1 次查看(过去 30 天)
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.

回答(2 个)

Daniel Pollard
Daniel Pollard 2021-5-18
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 2021-5-18
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)

类别

Help CenterFile Exchange 中查找有关 Matrix Indexing 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by