用 MATLAB 绘出系统零状态响应的时域仿真波形:y”(t)+4y’(t)+3y(t)=f(t),f(t)=u(t) y”(t)+4y’(t)+4y(t)=f’(t)+3f(t),f(t)=e-tu(t)
时间: 2023-08-01 11:09:33 浏览: 651
程序要求能够计算并绘制RLC串联电路在输入信号为x(t) = e-3tu(t) 时的零状态响应和你手工计算得到的系统零状态响应
第一个系统的零状态响应可以通过对其进行拉普拉斯变换,得到其传递函数H(s)为:
H(s) = 1/(s^2 + 4s + 3)
然后根据系统的阶跃响应的定义,我们可以计算其零状态阶跃响应。具体地,假设阶跃输入为u(t),则有:
Y(s) = H(s) * U(s) = 1/(s^2 + 4s + 3) * 1/s
通过部分分式分解,可以得到:
Y(s) = A/(s+1) + B/(s+3)
其中,A = 1/2,B = -1/2。因此,零状态阶跃响应为:
y(t) = A*e^(-t) + B*e^(-3t) = 1/2*e^(-t) - 1/2*e^(-3t)
现在我们可以使用Matlab进行仿真,绘制出y(t)的时域波形。代码如下:
```matlab
% 计算y(t)
t = 0:0.01:10;
y = 1/2*exp(-t) - 1/2*exp(-3*t);
% 绘制y(t)的时域波形
plot(t, y);
xlabel('Time (s)');
ylabel('Amplitude');
title('Zero-State Step Response of y''''(t) + 4y''(t) + 3y(t) = u(t)');
```
运行以上代码,可以得到y(t)的时域波形。
第二个系统的零状态响应可以采用类似的方法进行计算。根据系统的传递函数H(s):
H(s) = (s+4)/(s+2)^2
我们可以先计算其对应的零状态阶跃响应,再根据输入f(t) = e^(-t)u(t)计算零状态响应。具体地,有:
Y(s) = H(s) * F(s) = (s+4)/(s+2)^2 * 1/(s+1)
通过部分分式分解,可以得到:
Y(s) = A/(s+1) + B/(s+2) + C/(s+2)^2
其中,A = -1/2,B = -5/4,C = 3/4。因此,零状态响应为:
y(t) = A*e^(-t) + B*e^(-2t) + Ct*e^(-2t) = -1/2*e^(-t) - 5/4*e^(-2t) + 3/4*te^(-2t)
现在我们可以使用Matlab进行仿真,绘制出y(t)的时域波形。代码如下:
```matlab
% 计算y(t)
t = 0:0.01:10;
y = -1/2*exp(-t) - 5/4*exp(-2*t) + 3/4*t.*exp(-2*t);
% 绘制y(t)的时域波形
plot(t, y);
xlabel('Time (s)');
ylabel('Amplitude');
title('Zero-State Response of y''''(t) + 4y''(t) + 4y(t) = f''(t) + 3f(t), f(t) = e^{-t}u(t)');
```
运行以上代码,可以得到y(t)的时域波形。
阅读全文