Re: [問題] for的速度問題已回收
可能是向量化計算的原因。
(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
01/11 13:44, 1F
討論串 (同標題文章)
MATLAB 近期熱門文章
PTT數位生活區 即時熱門文章