默认状态下,matlab显示精度是short型,而默认的计算精度是double型,并且显示精度与计算精度没有关系。
一只失明的猫的问题:注意方法!
给数组预分配空间是基本的高效编程准则之一。如果不预先分配内存具体的动态扩充数组内存的实现方式如下:
如果预分配空间,则只将新添加的值放入连续的内存中,而不会将整个数组重新分配空间。
matlab也可以使用window命令,只需要在系统命令前加!或者dos:例如
!shutdown -s
会关闭电脑,这样可以想到,我们可以用matlab做一个简单的定时关机软件。逻辑索引的速度大于数值索引:eg:
A=rand(1000); a1=A(find(A>0.3)); a2=A(A>0.3);
find函数返回的是数值索引。使用循环时的两种高效方法:1.按列遍历;2.循环次数多的放在内层。
在目前的高版本中,循环已不是耗时的主要原因,而是函数调用。
edit 、type、open可以查看部分函数的源代码,内建函数不行。
匿名函数可以完全更好的替代incline函数。
build-in函数的开销最低。
更多的使用向量化函数。eg: accumarray、arrayfun 、bsxfun 、cellfun 、spfun 、structfun
符号计算虽说语法简单,但是由于精确性,在计算过程中会保留大量的中间结果,这样容易导致内存溢出。
matlab的界面元素都是由Java实现的,可以通过运行
matlab -nojvm
来启动matlab,从而减少内存消耗。
【Matlab编程】Matlab高效编程技巧
坚持原创技术分享,您的支持将鼓励我继续创作!
- 本文链接: http://tengweitw.com/2014/06/16/[20140616]/
- 版权声明: 本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!