3.给数组预分配空间是基本的高效编程准则之一。如果不预先分配内存具体的动态扩充数组内存的实现方式如下:
如果预分配空间,则只将新添加的值放入连续的内存中,而不会将整个数组重新分配空间。
4.matlab也可以使用window命令,只需要在系统命令前加!或者dos:例如!shutdown -s 会关闭电脑,这样可以想到,我们可以用matlab做一个简单的定时关机软件。
5.逻辑索引的速度大于数值索引:eg: A=rand(1000); a1=A(find(A>0.3)); a2=A(A>0.3); find函数返回的是数值索引。
6.使用循环时的两种高效方法:1.按列遍历;2.循环次数多的放在内层。
7.在目前的高版本中,循环已不是耗时的主要原因,而是函数调用。
8.edit 、type、open可以查看部分函数的源代码,内建函数不行。
9.匿名函数可以完全更好的替代incline函数。
10.build-in函数的开销最低。
11.更多的使用向量化函数。eg: accumarray、arrayfun 、bsxfun 、cellfun 、spfun 、structfun
12.符号计算虽说语法简单,但是由于精确性,在计算过程中会保留大量的中间结果,这样容易导致内存溢出。
13.matlab的界面元素都是由Java实现的,可以通过运行matlab -nojvm来启动matlab,从而减少内存消耗。
【Matlab编程】Matlab高效编程技巧,布布扣,bubuko.com
原文地址:http://blog.csdn.net/tengweitw/article/details/31410865