Re: [問題] plot多個波形相加已回收

看板MATLAB作者 (S.T | eViLr)時間14年前 (2009/11/09 00:33), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串2/3 (看更多)
※ 引述《haosan (K211)》之銘言: : for i=1:30 : magnitude(i) = i*2; : end : for i=1:30 : freq(i) = i*1.2; : end : for i=1:30 : phase(i) = i; : end : x = linspace(0.00,2.00,20000); : hold on; : for j=1:20000 : k0 = 8; : for i=1:30 : k0 = k0 + magnitude(i)*sin(2*pi*freq(i)*x(j)+phase(i)); : end : plot(x(j),k0); : end : 有沒有辦法少用一個迴圈 但得到同樣效果? a=1:30 magnitude(a) = a.*2; freq(a) = a.*1.2; phase(a) = a; x = linspace(0.00,2.00,20000); hold on; for j=1:20000 k0=magnitude(a).*sin(2.*pi.*freq(a).*x(j)+phase(a)); k0=sum(k0)+8; plot(x(j),k0); end 沒寫錯的話應該是這樣,把內迴圈向量化,運算完30次之後再加總~ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.40.112.131

11/09 13:09, , 1F
感謝 ~
11/09 13:09, 1F
文章代碼(AID): #1AzlBI3o (MATLAB)
文章代碼(AID): #1AzlBI3o (MATLAB)