如何加速MATLAB代码?

5 performance matlab

就像MATLAB作为一种数学语言一样,它的速度并不像它那样快.我想知道加速运行MATLAB代码的一般做法是什么?例如,我知道如果不是运行for循环,可以用矢量/矩阵格式进行计算,他将看到运行代码的速度.

我想知道还有什么其他建议.

Jon*_*nas 5

以下是一些基本的性能提示:

  1. 学习使用分析器来了解计算的哪些部分很慢
  2. 通过矢量化限制昂贵的函数调用量
  3. 预先分配数组,而不是在循环中增长它们
  4. 使用多线程函数(如bsxfun)
  5. 使用最新版本的Matlab - 在过去的5年中取得了巨大的性能提升
  6. 使用并行工具箱进行多核和/或GPU处理
  7. 使用有效的算法
  8. 在适当的地方使用Java或C/C++代码(虽然加速可能令人失望)


Pra*_*mar 1

您可能会在这里开始回顾一些开始考虑矢量化的方法。
之后,这里给出的 PDF尽管不完整,但提供了许多具有良好性能的 Matlab 惯用语。