當前位置:編程學習大全網 - 編程軟體 - 用MATLAB工具畫出 x(n)波形。

用MATLAB工具畫出 x(n)波形。

1、樓上給的代碼就可以了:

n = -5:40;

x = (1.02.^n+0.5*cos(2*pi*n/8+pi/4)).*(n>=0)+0.1*(n==-1)+0.15*(n==-2);

stem(n,x);

2、把系統T表示為濾波器形式的傳遞函數,然後直接調用impulse求解脈沖響應

T=filt(ones(1,7),[1 zeros(1,6)])/7;

[y,t]=impulse(T,40);

stem(t,y);

3、對系統進行z變換,得到傳遞函數為

T(z) = (1 + z^-1 + z^-2 + z^-3 + z^-4 + z^-5 + z^-6) / 7

系統所有極點均位於z=0,所以系統穩定;

從差分方程看,系統在n時刻的輸出,只取決於該時刻以及該時刻之前的輸入,所以是因果系統;

差分方程只包含輸入量的壹次方項,所以是線性系統;

差分方程的系數均為常數,所以是時不變系統。

4、使用循環求解y(n):

y = x * 0;

for i = 7:length(x)

y(i) = sum(x(i-6:i-0)) / 7;

end

stairs(n,y)

5、使用filter函數求解:

y1 = filter(ones(1,7)/7,[1 zeros(1,6)],x);

plot(n,y,n,y1)

第4步編程計算時,輸出從n=1開始計算的所以前幾個值為0,而filter的計算結果則是從信號最左端開始,結果更可信。

也可以把幾種信號都放在壹張圖中對比:

plot(n,x,'-o',n,y,'.-',n,1.02.^n.*(n>=-5),'--');

legend('x(n)','y(n)','ideal',4)

6、感想和體會自己寫吧。

  • 上一篇:福建師大附中報名表裏的學籍號怎麽填
  • 下一篇:對話編程問題
  • copyright 2024編程學習大全網