⑴單位沖激函數@(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