首页 文章

Matlab和Octave计算的差异

提问于
浏览
-1

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

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

1 回答

  • 1

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

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

相关问题