I have a data (saved as double), as in the attache file. I need to find for example if a certain float number (for ex. -0.334) exist or no.
find(y7==-0.3340)
but because the nubers actully exist as -0.3440099999999 or sth like that, I can't find.
I have tried to change the format, but it did'nt solve the problem.
Any suggestions??

 채택된 답변

per isakson
per isakson 2021년 9월 20일
편집: per isakson 2021년 9월 20일

0 개 추천

find( abs( y7 -(-0.3340) ) < tol )
You choose tol. See eps - Floating-point relative accuracy

추가 답변 (1개)

Walter Roberson
Walter Roberson 2021년 9월 20일

1 개 추천

[is_there, idx] = ismembertol(-0.3340, y7) %options allow you to control tolerances
y7(idx)
Also,
[~, idx] = min(abs(y7(:) - (-0.3340)));
y7(idx)
will show you the y7 that is closest to -0.3340, even if it is not very close. Whereas the ismembertol() will only return results if the value is within tolerance

카테고리

도움말 센터File Exchange에서 MATLAB에 대해 자세히 알아보기

질문:

2021년 9월 20일

댓글:

2021년 9월 20일

Community Treasure Hunt

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

Start Hunting!

Translated by