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!