《信号与系统》连续时间系统零状态响应的 MATLAB 实现

3.5.1 连续时间系统零状态响应的 MATLAB 实现

参考书籍 《信号与系统》
Matlab 库函数中的 **lsim()**能对微分方程描述的 LTI 连续时间系统的响应进行仿真。

lsim(b,a,x,t)

该调用格式中,a 和 b 是由描述系统的微分方程左边和右边系数构成的两个行向量;t 为输入信号时间范围的向量,x 为输入信号在向量 t 定义的时间点上的抽样值。

连续时间系统的微分方程
y ‘’(t) + 4y '(t) + 3y(t) = f '(t) + 2 f (t)
当输入信号f(t) = 20e^(-2t)u(t), 初始值y(0-) = 2, , y '(0-) = 1时,求该系统的零状态响应。

代码实现

a = [1 4 3];
b = [1 2];
[A B C D] = tf2ss(b, a); 
% tf2ss 函数将传递函数模型转化为状态空间模型
sys = ss (A, B, C, D);
% sys 由函数 ss 构造的状态空间模型
p = 0.01;
t = 1:p:3;
f = zeros(1, length(t));
zi  = [1 2];
y1 = lsim(sys, f, t, zi); %系统的零输入响应
x = 20*exp(-2*t);
y2 = lsim(sys, x, t); %系统的零状态响应
y3 = lsim(sys, x, t, zi); %系统的全响应
subplot(3, 1, 1);
plot(t, y1);
subplot(3, 1, 2);
plot(t, y2);
subplot(3, 1, 3);
plot(t, y3)

《信号与系统》连续时间系统零状态响应的 MATLAB 实现_第1张图片

你可能感兴趣的:(信号与系统,matlab)