Matlab提速方法

1. 向量化。

尽量少用for循环。

2. 循环竖着走比横着走快。

3. 内置函数也有优化的空间

不少内置函数都有大量的error check。直接用profiler找出真正干活的。
不少内置函数在网上都有人提供了更快的版本的,当然功能弱一些,正好符合提速的需求。

4. 尽量给不要修改函数的变量

利用copy on write的特点,丢进函数的变量能不对其修改就不要修改。

5. 少使用Matlab进行类似数据库的操作

matlab就是个高级计算器,不要拿干来处理文件,往数据库里塞数据这种活。eval, object之类的东西能别碰就别碰,尽量保持着every is an array of double的模式。

6. 预先规定好矩阵的维度

和C语言一个道理,修改矩阵的维度会使Matlab分配一个新的内存空间来存储新的矩阵并进行赋值操作。频繁地改变size就会使运算变慢。

7. 当矩阵中有很多0时,使用sparse(稀疏矩阵)

也就是软基中的三元矩阵?

8. 多次使用的除法数据存储下来

因为除法的开销比乘法的大许多。

原文地址:https://www.cnblogs.com/zinyy/p/9139125.html