當前位置:編程學習大全網 - 編程語言 - 利用matlab的設計

利用matlab的設計

解:建模

⑴單位沖激函數@(t)無法直接用MATLAB描述,可以把它看作是寬度為Δ(程序中用dt表示),幅度為

1/Δ的矩形脈沖。

⑵單位階躍函數:在t=t1處躍升的節約信號可寫為u(t-t1).

⑶復指數函數:x3(t)=e^(ut+jwt)若w=0,它是實指數函數,若u=0,則為虛指數函數,其實部為余弦函數,虛部為正弦函數。

MATLAB程序

clear,t0=0;tf=5;dt=0.05;t1=1;

t=[t0:dt:tf];st=length(t);

% ⑴單位沖激信號

%在t1處有時間連續為dt,面積為1的脈沖信號,其余時間均為零。

n1=floor((t1-t0)/dt);%求t1對應的樣本序號

x1=zeros(1,st);% 把全部信號先初始化為零

x1(n1)=1/dt;%給出t1處的脈沖信號

subplot(2,2,1),stairs(t,x1),grid on,title('沖激函數') %繪圖

axis([0,5,0,22])

%⑵單位階躍函數

x2=[zeros(1,n1-1),ones(1,st-n1+1)];

subplot(2,2,3),stairs(t,x2),grid on,title('階躍函數');

axis([0,5,0,1.1]);

%⑶復指數函數

alpha=-0.5;w=10;x3=exp((alpha+j*w)*t);

subplot(2,2,2),plot(t,real(x3)),grid on,title('復指數函數實部')

subplot(2,2,4),plot(t,imag(x3)),grid on,title('復指數函數虛部')

例6.2LTI系統的零輸入響應

描述n階線性時不變(LTI)連續系統的微分方程為:

解:建模

當LTI系統的輸入為零時,其零輸入響應為微分方程的齊次解(即微分方程的等號右邊為零),其形式為(設特征根均為單根)

y(t)=c1*exp(p1*t)+c2*exp(p2*t)+c3*exp(p3*t)+…+cn*exp(pn*t)

其中p1,p2,p3,…,pn是特征方程的根,他們可以用roots(a)語句求的。各系數c1,c2,…,cn由y及其各階倒數的初值來確定。

MATLAB程序q602.m

a=input('輸入分母系數向a=[a1,a2,a3,…]=');

n=length(a)-1;

Y0=input('輸入初始條件向量Y0=[y0,D1y1,D2y2,D3y3…]=');

p=roots(a);V=rot90(vander(p));c=V\Y0';

dt=input('dt=');tf=input('tf=')

t=0:dt:tf; y=zeros(1,length(t));

for k=1:n y=y+c(k)*exp(p(k)*t);

disp([' c',' (',num2str(k),') ','is'])

disp(num2str(c(k)))

disp([' p',' (',num2str(k),') ','is'])

disp(num2str(p(k)))

end

plot(t,y),grid

  • 上一篇:五菱宏光故障碼P0134
  • 下一篇:篝火晚會活動策劃通用
  • copyright 2024編程學習大全網