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

看板MATLAB作者 (我...)時間17年前 (2009/01/10 10:10), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/7 (看更多)
※ 引述《ericabab (ㄍㄠˊ)》之銘言: : 今天跑程式發現一個搞不懂的問題 : 以下兩種情況 : (1) : for i=1:1000 : ; : end : (2) : k=1:1000; %這行並沒有算在時間裡 : for i=k : ; : end : 這兩種情況的for loop,(2)的速度會慢上好幾十倍 : 想不通為什麼,我會覺得完全是一樣的事情@@ : 謝謝 根據測試 (A) 如果是相同的CODE 比較下 放第一個的會比較慢 假設都是 tic for i=1:1000 ; end toc for i=1:1000 ; end toc Elapsed time is 0.000007 seconds. Elapsed time is 0.000005 seconds. 大概是放前面的還有MATLAB熱身的問題 再來寫法 =============================================================== (B) 如果是寫 tic for i=1:1000 ; end toc k=1:1000; tic for i=k ; end toc Elapsed time is 0.000006 seconds. Elapsed time is 0.000244 seconds. 可能要考慮的是 是不是k在外面要多去執行判斷k的問題 =================================================================== (C) 如果改成 tic for i=1:1000 ; end toc k=1000; tic for i=1:k ; end toc Elapsed time is 0.000006 seconds. Elapsed time is 0.000006 seconds. 結論(B)中的i=k應該是耗時的關鍵 雖然大部分的人不在乎那十萬分秒 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.116.63.252
文章代碼(AID): #19Q0EUeL (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #19Q0EUeL (MATLAB)