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!