Matlab和Octave计算的差异

时间:2015-12-15 07:07:49

标签: matlab octave

我已经实现了朴素贝叶斯分类器。在Matlab上,我的classify函数需要2分钟才能运行,而八度音程需要25分钟才能运行相同的代码。有谁知道是什么导致ocatve运行得更慢,以便我可以相应地调整我的代码?

PS:我必须提交到运行八度而不是Matlab的服务器。

1 个答案:

答案 0 :(得分:1)

Matlab在运行代码时进行了很多“隐藏”优化(Octave可能也是,但不同的)。许多优化措施,例如:如果不在函数中修改这些参数,而是通过引用传递,则不会复制函数的参数。例如,这可以显着加快计算速度。传递大矩阵,因为否则你的大部分计算时间花在复制上。有许多类似的优化,并不是所有的都有记录。

如果没有具体的计算知识,很难猜出差异的来源。我不知道octave是否与matlab探查器等效,但如果,我会用它来找出octave一直花费的地方。对于调试,我还建议将Octave下载到您的PC并在那里进行调试。

相关问题