Bug in equality checks? 28.15e-3 == 28.15/1000 false
1 次查看(过去 30 天)
显示 更早的评论
Why does this happen? It does not regocnize equality on 7.48e-3 == 7.48/1000, but it does on 7.47e-3 == 7.47/1000 as well. Another example below.
28.1e-3 == 28.1/1000
28.15e-3 == 28.15/1000
0 个评论
采纳的回答
Star Strider
2021-10-15
Wellcome to the world of floating-point approximation error!
This is roughly equivalent to expressing in decimals. The result is 0.3 an infinite number of 3 following it, never being excactly equal to .
.
9 个评论
Image Analyst
2021-10-15
I think the abs() is needed because one quantized expression could be above or below the other quantized expression, and I don't think you'd know which it will be in general.
Paul
2021-10-15
Exactly and well said. I should have included a statement to that effect in my comment
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!