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
时间: 2024-10-19 12:42:20