Re: [問題] 怎麼讓迴圈的執行速度最佳化?已回收
※ 引述《Surtur (垣圻 <( ̄︶ ̄)>)》之銘言:
: 最近MATLAB做模擬遇到瓶頸,
: 只要i超過120,
: 按[Run]之後,
: 就會一直呈現busy狀態,
: 以下是程式碼的一部份。
: 是不是從if的部份要修改,讓程式執行更快?
: for i=1:100
: W=W+mu*Xprime*e;
: x=y1+e; % reference signal
: input(i)=x;
: imf=emd(input);
這個函數是自己寫的嗎?
: [p,q]=size(imf);
: imf{1}=0;
這邊下麵改成switch 會比 if if if if 快非常多
: if q==1
: out=imf{1};
: else if q==2
: out=imf{1}+imf{2};
: else if q==3
: out=imf{1}+imf{2}+imf{3};
: else if q>3
: out=imf{1}+imf{2}+imf{3}+imf{4};
: end
: end
: end
: end
: .....
但看來是可以把for 拿掉 這樣就會快更多
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.193.84.89
推
07/26 09:44, , 1F
07/26 09:44, 1F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):