Matlab计算Vs'C / C ++'计算..哪一个有效?

时间:2011-10-04 08:06:15

标签: c++ c matlab

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

2 个答案:

答案 0 :(得分:4)

一般来说,不,Matlab不会因为它是Matlab而产生更精确的结果。但是,有很多事情可能会有所不同:

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

答案 1 :(得分:0)

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

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