4.已知某LTI系统的微分方程为y’’(t)+3y’(t)+2y(t)=x(t),已知激励信号x(t)=4*(e^(-2*t))*u(t),起始条件y(0_)=3,y’(0_)=4,matlab求系统的零状态响应,零输入响应,完全响应
时间: 2023-08-01 18:11:59 浏览: 576
可以使用MATLAB的dsolve函数来求解该系统的解析解,dsolve函数会自动计算出齐次解和特解,并根据起始条件求出待定系数。具体实现如下:
```matlab
syms y(t)
ode = diff(y, t, 2) + 3*diff(y, t) + 2*y == 4*exp(-2*t)*heaviside(t);
cond1 = y(0) == 3;
cond2 = diff(y, t)(0) == 4;
ySol(t) = dsolve(ode, [cond1, cond2]);
```
其中,syms y(t) 表示定义一个符号函数 y(t),ode 表示系统的微分方程,cond1 和 cond2 分别表示起始条件 y(0_) = 3 和 y'(0_) = 4,ySol(t) 表示系统的解析解。
接下来,我们可以将 ySol(t) 分解成零状态响应、零输入响应和完全响应。具体实现如下:
```matlab
y_zs(t) = simplify(subs(ySol, exp(-2*t)*heaviside(t), 0));
y_is(t) = simplify(subs(ySol, 4*exp(-2*t)*heaviside(t), 0));
y_fs(t) = simplify(ySol - y_zs - y_is);
```
其中,y_zs(t) 表示系统的零状态响应,y_is(t) 表示系统的零输入响应,y_fs(t) 表示系统的完全响应。simplify函数可以简化符号表达式。
最后,我们可以使用ezplot函数将三者画出来,具体实现如下:
```matlab
subplot(3, 1, 1);
ezplot(y_zs, [0, 5]);
title('Zero-State Response')
subplot(3, 1, 2);
ezplot(y_is, [0, 5]);
title('Zero-Input Response')
subplot(3, 1, 3);
ezplot(y_fs, [0, 5]);
title('Complete Response')
```
运行上述代码,即可得到系统的零状态响应、零输入响应和完全响应的图像。
阅读全文