第一、matlab能不用循環盡量不用循環
% % Nannan wang says that in matlab, cycling(循環) is time-consuming.
% % 能不用循環就不用循環
% % The easiest example to illustrate this idea

已知兩個矩陣AB,求所有元素對應相乘之和

思路一:用兩重循環實現

思路二:點乘后的矩陣用C表示,sum(C(:)),思路二更好,沒用循環


第二、預先分配存儲空間

tic;
a=zeros(1000,10000);
for i=1:1000
    a(i,:)=randperm(10000);
end
toc;
20130111在我的筆記本測試,需要時間1.115140 seconds;如果將a=zeros(1000,10000)注釋,在我的筆記本測試,需要時間19.308252 seconds

 
參考文獻:

見我的matlab教材P54