- 实验目的
- 学会运用MATLAB求解连续与离散系统的冲激响应和阶跃响应。
- 学会运用MATLAB求解LTI系统的零输入响应和零状态响应。
- 实验设备
- 计算机。
- MATLAB软件。
- 实验内容
(1)至少用两种方法求 的单位阶跃响应并绘图表示出来。(提示 step 和 lsim)
(2)编程实现教材 p106, 2-15(3),并绘图表示出来;
(3)求 的零状态解,并绘图表示出来。
- 实验步骤
1.用至少两种方法求的单位阶跃响应并绘图。
方法一:
源程序:
t=0:0.001:10;
sys=tf([1,3,7],[1,4,6,4,1]);
g=step(sys,t); %step函数用于求连续时间系统的阶跃响应。
plot(t,g),grid on;
xlabel('Time(sec)'),ylabel('g(t)');
title('阶跃响应');
图像:
方法二:
源程序:
a=[1 4 6 4 1];
b=[1 3 7];
t=0:0.01:10;
f=heaviside(t); %heaviside函数用于表示阶跃信号。
lsim(b,a,f,t); %用lsim函数绘制系统的输入及其响应的波形图。
xlabel('Time(sec)');
title('系统的输入及其阶跃响应')
图像:
2.教材 p106, 2-15(3): ,x(t)=cos(t)u(t),求系统的零状态响应。
源程序:
a=[1 2 1];
b=[1 1 1];
t=0:0.01:6;
f=cos(t);
lsim(b,a,f,t);
title('系统的零状态响应');
图像:
3.求的零状态解并绘图。
源程序:
n=(0:20);
x=sin(n*pi/4);
a=[1 0.5];
b=[1];
y=filter(b,a,x); %用filter函数求离散LTI系统的响应。
subplot(2,1,1),stem(n,x),title('输入序列');
subplot(2,1,2),stem(n,y),title('输出序列');
图像:
五、实验总结
1. 实验内容一方法一所用函数sys=tf(b,a)中tf代表传递函数,b=[b1 b2 b3...]代表响应的系数,a=[a1 a2 a3...]代表激励的系数,且各自都由最高阶向最低阶排列。
2.连续时间系统的冲激响应用函数y=impulse(syt,t) 求解,阶跃响应用y=step(sys,t)求解,其中t表示系统响应的时间抽样点向量,sys表示LTI系统模型。
3.连续时间系统的响应求解使用dsolve函数实现常系数微分方程的符号求解,dsolve(‘eq1,eq2,...’,‘cond1,cond2,...’,‘v’) ,eq代表的是各个微分方程,D1y,D2y分别表示y的一阶导数、二阶导数……,参数cond表示各个起始条件,v表示自变量。
simplify函数用于简化表达式。
ezplot函数制图
lsim(b,a,f,t)b表示激励参数,a表示响应参数。求一有输入的线性系统的响应。