Re: [問題] 請求數學公式的MATLAB寫法已回收

看板MATLAB作者 (ck901004)時間16年前 (2009/10/17 12:05), 編輯推噓3(3011)
留言14則, 2人參與, 最新討論串2/2 (看更多)
你好,我看了你的圖了。 但是兩個式子要表達的似乎不太一樣。 第一個比較像 tap weight update。 第二個就是 linear model。 但最主要都是和 convolution 有關。  這樣的話至少有四種作法: (I) register (II) convolution (III) filter (IV) FFT 我試了前三種,不妨參考看看: % ======================================================================= clear all N = 500; % length of input M = 10; % length of tap weight vector x = cos(2*pi/100*(1:N))'; % cos wave vector/input u(n) w = [1 -0.5 0.25 -0.125 zeros(1,M-4)]'; % initialize tap weight vector u = zeros(M,1); % initialize delayed version of u(n) v = 0.1*randn(N,1); % initialize noise v(n) y = zeros(N,1); % initialize output y(n) % Method I: register type for n=1:N if (n<=M) u(1:n) = x(n:-1:1); else u(1:M) = x(n:-1:n-M+1); end y(n) = w'*u + v(n); end % Method II: convolution type y1= conv(x,w); y1= y1(1:N) + 0.1*randn(N,1); % Method III: : filter type y2= filter(w,1,x) + 0.1*randn(N,1); plot(0:N-1,y,0:N-1,y1,0:N-1,y2) legend('y0(n)','y1(n)','y2(n)'); ylabel('Magnitude') xlabel('n') -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.117.11.150 ※ 編輯: ck901004 來自: 59.117.11.150 (10/17 12:13)

10/17 21:02, , 1F
謝謝回應.可是我看不太懂.我原本以為只要一行就行了..
10/17 21:02, 1F

10/17 21:05, , 2F
我跑了一下你寫的程式似乎三種作法輸出都差不多
10/17 21:05, 2F

10/17 21:05, , 3F
因為這是跟濾波器有關的 所以可能跟第三種有關析吧..
10/17 21:05, 3F

10/17 21:09, , 4F
u(n) =α exp( jωn) + v(n)
10/17 21:09, 4F

10/17 21:09, , 5F
u=alph*exp(j*w*n)+nA*randn(1,sample+1);
10/17 21:09, 5F

10/17 21:10, , 6F
我原本以為只是像上面那樣 一行就可以了...
10/17 21:10, 6F

10/17 21:20, , 7F
我有傳題目上去 在同一本相簿 因為我完全模不著頭緒..
10/17 21:20, 7F

10/17 21:21, , 8F
麻煩對這方面有研究的高手..麻煩提點一下
10/17 21:21, 8F

10/19 12:19, , 9F
其實第一種作法是最基本用for跑完,也是最基礎的,看不懂就..
10/19 12:19, 9F

10/19 12:19, , 10F
第二種是用sin、cos等內建function來跑,這個我比較看不懂
10/19 12:19, 10F

10/19 12:20, , 11F
第三種是直接使用濾波器filter來跑,不過瀘波器好多
10/19 12:20, 11F

10/19 12:20, , 12F
你沒給這濾波器的名字,老實說領堿不同看不出來
10/19 12:20, 12F

10/19 12:21, , 13F
當然k兄回復的程式是沒問題的,重點是原po你要努力看= =..
10/19 12:21, 13F

10/19 12:22, , 14F
打錯,是ck兄回的程式,sorry
10/19 12:22, 14F
文章代碼(AID): #1AsKA1w0 (MATLAB)
文章代碼(AID): #1AsKA1w0 (MATLAB)