标签: matlab equality
当我在matlab中尝试下面的代码时,a和b不相等应该不是吗?
a = 0.3 b = 0.1*3 a == b
这是一个错误还是我使用错误的运算符来比较数字?
答案 0 :(得分:1)
两者不相等,因为浮点运算具有一定的精度。检查差异(a-b)它应该非常小。
(a-b)
对于大多数编程语言,答案只是“处理它,与容差进行比较”,但matlab有一个符号工具箱。这还包括有理数,并允许消除某些功能的这个问题。不要指望这是一个简单的解决方案。