Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
当我在matlab中尝试下面的代码时,a和b不相等不应该是这样吗?
a = 0.3 b = 0.1*3 a == b
这是一个错误还是我使用错误的运算符来比较数字?
两者不相等,因为浮点运算具有一定的精度。检查差异(a-b)应该很小。
(a-b)
对于大多数编程语言来说,答案只是“处理它,与一个容差进行比较”,但 matlab 有一个符号工具箱。这也包括有理数,并允许消除某些函数的这个问题。不要指望这是一个简单的解决方案。