三个小技巧帮你提高MATLAB代码运行速度

    在进行大规模数据运算的时候,MATLAB的速度一直是一个让人诟病的问题。单是养成良好的编程习惯,

会让你在不经意间让你的代码运行效率提高数倍。

    1. 为循环中频繁存取的数组提前分配空间

    2. 以列为单位进行数据的存取

    3. 避免创建不必要的中间变量

1. Preallocate Arrays Before Accessing them Within Loops


   1:  N = 10e3;                                               
   2:   
   3:  x{1} = 1000; 
   4:  for k=2 : N 
   5:      x{k} = 1.05*x{k-1};  
   6:  end    
   7:    
   8:  Machine A = 0.14.9 sec
 
   1:  N = 10e3;
   2:  A = zeros{N,1};
   3:  for k = 2 :N
   4:      x{k} = 1.05*x{k-1};
   5:  end
   6:   
   7:  Machine A = 0.00024 sec


3. Avoid Creating Unnecessary Variables

   1:  y = myfun(x);
   2:   
   3:  function y = myfun(x)
   4:  y = 1.2*x;
   5:   
   6:  Machine A = 0.0858 sec
   7:   
   8:  x = myfun_ip(x);
   9:   
  10:  function x = myfun_ip(x)
  11:  x = 1.2*x;
  12:   
  13:  Machine A = 0.0508 sec
posted @ 2011-01-16 22:03  bei  阅读(835)  评论(0编辑  收藏  举报