为什么运行在Windows / CDF插件上的相同Mathematica演示在linux CDF播放器上运行时会返回不同的值?

时间:2011-06-08 11:11:53

标签: wolfram-mathematica

我只是在linux上尝试CDF播放器,并且正在比较same demo在Windows上使用CDF插件的样子。我注意到一些奇怪的事相同的演示,相同的初始值,但在Windows上,相同的值显示为零,而在Linux上它显示为3.598 * 10 ^ -19

这有点烦人,我希望不必在Windows和Mac和Linux上测试Mathematica CDF以确保它们的工作原理相同。我认为事情应该是相同的,除了由于不同的OS风格等可能会有所不同的外观。但是数值不应该相同吗?

这是一个截屏。

enter image description here

1 个答案:

答案 0 :(得分:3)

这很正常。不同的硬件会产生不同的浮点结果。请注意,即使我们只考虑Intel x86 CPU,也有几种方法可以在几个精度上进行浮点数学运算,所有这些都可能会产生稍微不同的结果。即使只使用不同的编译器及其不同的浮点库,或使用不同的编译器优化标志,也可能轻易地给出略微不同的浮点结果。当然,Mathematica是在不同的平台上使用不同的编译器编译的。

您可以使用Chop将接近零的机器精度数字替换为0。

如果在计算机上进行数值计算,则必须注意这一点。