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

看板MATLAB作者 (ㄍㄠˊ)時間17年前 (2009/01/10 05:18), 編輯推噓1(105)
留言6則, 3人參與, 最新討論串1/7 (看更多)
今天跑程式發現一個搞不懂的問題 以下兩種情況 (1) for i=1:1000 ; end (2) k=1:1000; %這行並沒有算在時間裡 for i=k ; end 這兩種情況的for loop,(2)的速度會慢上好幾十倍 想不通為什麼,我會覺得完全是一樣的事情@@ 謝謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.198.239

01/10 08:30, , 1F
因為執行k要多M個cpu單位時間 所以會增加M*k的時間
01/10 08:30, 1F

01/10 08:41, , 2F
驚!
01/10 08:41, 2F

01/11 17:11, , 3F
應該是和 matlab 內部的 for 寫法有關
01/11 17:11, 3F

01/11 17:11, , 4F
for i=1:1000 就和 for i=[1:1000] 差很多.
01/11 17:11, 4F

01/11 17:12, , 5F
程式設計者當初的寫法, 也許就是要來讀scalar.
01/11 17:12, 5F

01/11 17:13, , 6F
你寫成 vector 形式讓它去讀, 則還要多幾道轉換吧
01/11 17:13, 6F
文章代碼(AID): #19PxyBD7 (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #19PxyBD7 (MATLAB)