连续时间LTI系统以常系数微分方程描述, 系统的零状态响应可通过求解初始状态为零的微分方程得到. 在Matlab中, 控制系统工具箱提供了一个用于求解零初始条件微分方程数值解的函数lsim. 其调用方式为
y = lsim(sys, x, t)
式中 t 表示计算系统响应的抽样点向量, x 是系统的输入信号向量, sys是连续时间LTI系统模型, 用来表示微分方程、差分方程或状态方程. 在求解微分方程时, 连续时间LTI系统模型 sys 要借助 tf 函数获得, 其调用方式为
sys = tf(b, a)
式中b和a分别为微分方程右端和左端各项的系数向量. 注意微分方程中为零的系数一定要写入向量a和b中.
设描述系统输入输出关系的微分方程为 yzs''(t) + 3yzs'(t) + 2yzs(t) = 2x(t), 其中 x(t) = sint + sin20t, 计算系统的零状态响应yzs(t).
% 连续时间LTI系统零状态响应的求解
% 在区间[0, 30]上选取5000个点
t = linspace(0,30, 5000);
% 连续时间LTI系统模型sys要借助tf函数获得
% 其调用方式为 sys(b, a)
% 其中b和a分别为微分方程右端和左端各项的系数向量.
% yzs''(t) + 3yzs'(t) + 2yzs(t) = 2x(t)
sys = tf([2], [1 3 2]);
% 输入为x(t) = sint + sin20t
x = sin(t) + sin(20 * t);
% lsim函数用以求解连续时间LTI系统模型sys在输入激励为x的条件下的零状态响应
y = lsim(sys, x, t);
% 绘制系统零状态响应波形
plot(t, y);
%
xlabel('time(s)');
ylabel('yzs(t)&#