-3

当我在matlab中尝试下面的代码时,a和b不相等不应该是这样吗?

a = 0.3
b = 0.1*3
a == b

这是一个错误还是我使用错误的运算符来比较数字?

4

1 回答 1

1

两者不相等,因为浮点运算具有一定的精度。检查差异(a-b)应该很小。

对于大多数编程语言来说,答案只是“处理它,与一个容差进行比较”,但 matlab 有一个符号工具箱。这也包括有理数,并允许消除某些函数的这个问题。不要指望这是一个简单的解决方案。

于 2013-10-22T19:29:05.993 回答