信号与系统matlab

img


已知连续时间LTI系统的微分方程,如何用matlab求该系统的零输入响应

有用希望采纳
根据系统微分方程,我们可以写出其特征方程:

s^2 + 4s + 3 = 0

解得:

s1 = -1, s2 = -3

因此,系统的零输入响应为:

yzi(t) = C1 * exp(-t) + C2 * exp(-3t)

其中,C1和C2为待定系数,根据初始条件可求得:

yzi(0-) = C1 + C2 = 1

yzi'(0-) = -C1 - 3C2 + 2 = 0

解得:

C1 = 1, C2 = 0

故:

yzi(t) = exp(-t)

系统的零状态响应可用拉普拉斯变换求解。对于输入信号f(t) = u(t),其拉普拉斯变换为:

F(s) = 1/s

特征方程的根为s1 = -1, s2 = -3,因此,系统的传递函数为:

H(s) = 2(s+1)/[(s+1)(s+3)+3] = 2/(s^2 + 4s + 6)

设零状态响应为yzs(t),则:

yzs(t) = L^{-1}[H(s)F(s)] = L^{-1}[2/(s^2 + 4s + 6)(1/s)]

通过部分分式分解得:

H(s)F(s) = -2/(s+1) + 2/(s+3)

因此,yzs(t)的拉普拉斯逆变换为:

yzs(t) = -2e^{-t} + 2e^{-3t}

系统的完全响应为:

y(t) = yzi(t) + yzs(t) = exp(-t) - 2e^(-t) + 2e^(-3t)

根据上述计算结果,我们可以使用MATLAB编程画出相应的时域波形:

t = linspace(0,10,1000);
yzi = exp(-t);
yzs = -2*exp(-t) + 2*exp(-3*t);
y = yzi + yzs;
plot(t,y,'LineWidth',2);
xlabel('时间 (秒)');
ylabel('幅值');
title('系统响应');
legend('y(t)');

其中,linspace函数用于生成从0到10的1000个等间距的时间点,plot函数用于绘制相应的波形,xlabel、ylabel和title函数用于设置坐标轴和标题,legend函数用于添加图例。
输出结果:

img