(1)已知描述系统的微分方程和激励信号f(t)如下,试用解析法求系统的零状态响应y(t),并用MATLAB绘出系统零状态响应的时域仿真波形,验证结果是否相同 y’’(t)+ 4y’(t)+4y(t)=f’(t)+3f(t) f(t)= exp(-t)u(t)
时间: 2024-10-17 16:11:10 浏览: 67
首先,对于给定的线性常系数齐次微分方程 \( y''(t) + 4y'(t) + 4y(t) = 0 \) 和非齐次部分 \( f(t) = e^{-t}u(t) \),它是一个二阶线性常系数微分方程,其中 \( u(t) \) 表示单位阶跃函数。
由于 \( f(t) \) 是一个指数衰减的阶跃函数,我们可以直接找到其原函数,然后通过拉普拉斯变换求解这个微分方程的解。对整个方程应用拉普拉斯变换,我们得到:
\[ s^2Y(s) + 4sY(s) + 4Y(s) = F(s) \]
其中 \( Y(s) \) 是拉普拉斯变换后的零状态响应,\( F(s) \) 是 \( f(t) \) 的拉普拉斯变换:
\[ F(s) = \frac{1}{s+1} \]
移项并解得 \( Y(s) \):
\[ Y(s)(s^2 + 4s + 4) = \frac{1}{s+1} \]
\[ Y(s) = \frac{1}{(s+2)^2} \]
现在取拉普拉斯逆变换得到 \( y(t) \):
\[ y(t) = \mathcal{L}^{-1}\left\{\frac{1}{(s+2)^2}\right\} = e^{-2t} \cdot H(t) \]
其中 \( H(t) \) 是Heaviside函数,表示初始条件的瞬间作用。
为了在MATLAB中模拟零状态响应,你可以编写以下代码片段(假设你已经安装了`deconv`函数用于计算拉普拉斯逆变换):
```matlab
syms t s
f_exp = laplace(exp(-t), t, s);
Y_s = 1 / (s + 2)^2;
y_t = ilaplace(Y_s, s, t); % 使用deconv函数
figure;
plot(t, y_t, 'b', 'LineWidth', 2);
title('System Zero-State Response');
xlabel('Time (s)');
ylabel('Response (y(t))');
grid on;
% 验证是否正确
hold on;
h = plot(t, exp(-t)*heaviside(t), 'r--', 'LineWidth', 2);
legend(h, {'Analytical Solution', 'MATLAB Simulation'});
```
运行此代码后,你会看到蓝色线代表的是MATLAB计算出的零状态响应,红色虚线则是理论解析解。如果它们在时间窗口内完全一致,那就说明MATLAB的仿真结果是正确的。
阅读全文