Re: [問題] for的速度問題已回收

看板MATLAB作者 (chiong)時間17年前 (2009/01/11 13:36), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串5/7 (看更多)
可能是向量化計算的原因。 (1) i 是純量,Matlab真的是跑了一千次loop。 (2) 因為已定義好 k 是向量,所以Matlab會認為 i=k 是向量, 如果for loop內的程式碼可以向量化的話,Matlab就先把它向量化, 跑一個loop就好了。 所以 (2) 會快很多。 ※ 引述《ericabab (ㄍㄠˊ)》之銘言: : 今天跑程式發現一個搞不懂的問題 : 以下兩種情況 : (1) : for i=1:1000 : ; : end : (2) : k=1:1000; %這行並沒有算在時間裡 : for i=k : ; : end : 這兩種情況的for loop,(2)的速度會慢上好幾十倍 : 想不通為什麼,我會覺得完全是一樣的事情@@ : 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.204.165.27

01/11 13:44, , 1F
但結果是(2)會慢很多耶,應該不是你講的這樣:P
01/11 13:44, 1F
文章代碼(AID): #19QOLLz- (MATLAB)
文章代碼(AID): #19QOLLz- (MATLAB)