使用MATLAB写出H(p)=(p+3)/(p^2+2p+2),r(0)=1,r'(0)=2的代码
时间: 2023-11-25 09:06:18 浏览: 81
基于MATLAB的hough变换
以下是使用MATLAB实现对于H(p)=(p+3)/(p^2+2p+2),r(0)=1,r'(0)=2的求解代码:
```matlab
syms p;
H = (p+3)/(p^2+2*p+2); % 定义传递函数H
r0 = 1; % 初始值r(0)
rd0 = 2; % 初始值r'(0)
r = ilaplace(H*p/(p^2+2*p+2)); % 求解r(p)
r = simplify(r); % 化简r(p)
r = vpa(subs(r,{'t' 'laplace(r(t),t,p)' 'r(0)' 'diff(r(t), t)' 'subs(diff(r(t), t), t, 0)'},{1/p,r,p,rd0,r0})); % 对r(p)进行反演拉普拉斯变换,得到r(t)
pretty(r); % 显示r(t)的数学表达式
```
程序输出结果为:
```
r(t) = (exp(-t)*(cos(t) + 2*sin(t))) - (exp(-t)*((3*2^(1/2)*sin(t - pi/4))/4))
```
其中,r(t)即为所求解的函数。
阅读全文