Couldn't find the position of a value in vector

조회 수: 2 (최근 30일)
Enez Furkan Cihan
Enez Furkan Cihan 2018년 11월 24일
댓글: Enez Furkan Cihan 2018년 11월 24일
tryna find a value's location but gives me empty double row vector, why?
My vector is q and its size 1x4406 double. couldn't find out where 0.0500 is. Tried to use this " k=find(q==0.0500) " but didn't get anything worth.
Thanks in advance

채택된 답변

the cyclist
the cyclist 2018년 11월 24일
편집: the cyclist 2018년 11월 24일
The value is not exactly equal to 0.05, due to floating point representation. Try
tol = 1.e-6;
k=find(abs(q-0.0500)<tol);
  댓글 수: 5
the cyclist
the cyclist 2018년 11월 24일
Here are the elements that are nearest 0.05. Note that none of them are equal to 0.05. They are also not even with 1.e-6, which is why my code did not work.
You can change my value of tol to get as close as you need.
format long
q(2198:2206)
ans =
Columns 1 through 6
0.049918594104308 0.049941269841270 0.049963945578231 0.049986621315193 0.050009297052154 0.050031972789116
Columns 7 through 9
0.050054648526077 0.050077324263039 0.050100000000000
Enez Furkan Cihan
Enez Furkan Cihan 2018년 11월 24일
how i couldn't think that! Thank you so much. I appreciate.

댓글을 달려면 로그인하십시오.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by