[問題]是否有更快的做法?

看板MATLAB作者 (skan)時間11年前 (2014/04/30 17:59), 編輯推噓2(201)
留言3則, 3人參與, 最新討論串1/2 (看更多)
各位大大 小弟目前遇上一個問題就是用for迴圈做訊號處理時,往往都要跑個1.20分鐘以上 想請問各位大大是否有更快的方法? 以下是小弟的程式碼 for m=1:4 for n=1:500000 signal_square(n,m)=sum(sig((n-1)+1:n,m).^2); % 將收到的訊號平方 phase_noise(n,m) = angle(signal_square(n,m))./2; % 將平方的訊號取角度後除2 = phase noise phase_sig((n-1)+1:n,m) = (((angle(sig((n-1)+1:n,m)))- phase_noise(n,m))); % 原始訊號= arg(收下來的訊號)-phase noise phase_comp((n-1)+1:n,m) = exp(j*phase_sig((n-1)+1:n,m)); % 原始訊號 end end -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.117.163.74 ※ 文章網址: http://www.ptt.cc/bbs/MATLAB/M.1398851967.A.95F.html

04/30 18:58, , 1F
寫MEX or 用GPU
04/30 18:58, 1F

04/30 19:29, , 2F
(n-1)+1:n ?
04/30 19:29, 2F

07/03 14:34, , 3F
直覺上 兩個迴圈可以廢了....
07/03 14:34, 3F
文章代碼(AID): #1JOCb_bV (MATLAB)
討論串 (同標題文章)
文章代碼(AID): #1JOCb_bV (MATLAB)