0%

【Matlab编程】Matlab高效编程技巧

  • 默认状态下,matlab显示精度是short型,而默认的计算精度是double型,并且显示精度与计算精度没有关系。

  • 一只失明的猫的问题:注意方法!

  • 给数组预分配空间是基本的高效编程准则之一。如果不预先分配内存具体的动态扩充数组内存的实现方式如下:
    图1

    如果预分配空间,则只将新添加的值放入连续的内存中,而不会将整个数组重新分配空间。

  • 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,从而减少内存消耗。

坚持原创技术分享,您的支持将鼓励我继续创作!