The find function does not find the attribute element and outputs an empty row vector. What's the reason?
조회 수: 1 (최근 30일)
이전 댓글 표시
Here's my code.
for example,
V_bg=0.6:1/100:1.2;
output=find(V_bg==0.9);
i want to find value 0.9 but the ans is just 1x0 empty double row vector ?
i don't why
댓글 수: 1
Stephen23
2021년 5월 28일
"What's the reason?"
Because you are testing for exact equivalence of values which are not exactly the same.
Read more about binary floating point numbers:
This is worth reading as well:
채택된 답변
Asmit Singh
2021년 5월 28일
To find a noninteger value using the find function, it is recommended to use a tolerance value based on your data. Otherwise, the result is sometimes an empty matrix due to floating-point roundoff error. You can have look at the documentation for further details.
V_bg=0.6:1/100:1.2;
% change the tolerance level according to your liking
output=find(abs(V_bg-0.9)<0.001);
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!