看板 MATLAB 關於我們 聯絡資訊
各位大大 小弟目前遇上一個問題就是用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
celestialgod:寫MEX or 用GPU 04/30 18:58
sunev:(n-1)+1:n ? 04/30 19:29
tomichy:直覺上 兩個迴圈可以廢了.... 07/03 14:34