Re: [討論] 請教如何讓程式的運算加快已回收

看板MATLAB作者 (RL)時間12年前 (2011/10/23 13:26), 編輯推噓1(102)
留言3則, 2人參與, 最新討論串5/5 (看更多)
※ 引述《addstar (ASUS P735超正阿!!)》之銘言: : 請各位前輩幫我看一下我的程式,因為資料量有點大,所以跑起來很花時間, : 請大家幫我看一下應該怎麼改可以快一點 : % Dates是一個735000x1的矩陣 : B=zeros(100000,length(Dates)); : for a=1:100000 : max_A=zeros(length(Dates),1); : for b=1:length(Dates) : if Dates(b)>=1 : max_A(b)=max(Dates((b-a+1):b)); : end : end : B(a,:)=max_A; : end : 謝謝!!! A=Dates*ones(1,b); clear Dates B=A(:,1); B=B.*(B>1); B=[B,zeros(a,b-1)]; A(:,1)=[]; %--------------------------------- [idx1,idx2]=find(tril(A,-1)>1); for i=1:length(idx1) s=idx1(i); t=idx2(i); B(s,1+t)=max(A(s-t+1:s,t)); end %--------------------------------- -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 125.231.35.36

10/23 13:27, , 1F
剔除不必要迴圈 改寫矩陣難點在記憶空間
10/23 13:27, 1F

10/23 13:30, , 2F
要再改下去看要矩陣到底塞多滿
10/23 13:30, 2F

10/24 14:46, , 3F
高手 (膜拜
10/24 14:46, 3F
文章代碼(AID): #1EewM2GY (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1EewM2GY (MATLAB)