Matlab 计算与'C/C++'计算..哪一个是有效的?

Matlab computation Vs 'C/C++' computation..Which one is efficient?

本文关键字:计算 有效 哪一个 Matlab C++      更新时间:2023-10-16

我用Matlab实现了一些数学算法。我已经在c++中实现了这些算法(我使用Microsoft VS 2005)。当我将matlab代码输出与c++代码输出进行比较时,它与matlab输出的匹配度为98%至99%。难道不应该100%匹配吗?matlab的计算效率是否优于C/c++ ?

一般来说,不,Matlab不会仅仅因为是Matlab就产生更精确的结果。然而,有一些事情可能会产生影响:

  1. 相同算法的不同实现可能在编写时考虑了不同的数值稳定性。
  2. C和c++编译器通常允许您设置编译标志来进行快速数学运算,这将改变浮点数学行为。
  3. 浮点数的输出选项可能只是不同,使得结果看起来不同。
  4. Matlab和C版本可能使用不同的浮点精度。

在matlab中也会有适当的编译器,所以在这种情况下很难说matlab computation efficiency is better than C/C++

如果你的代码在两种情况下是相同的,那么应该有相同的输出。如果你发现它们之间存在一些差异,那应该是因为它们的编译器版本不同。