在MATLAB中分别用数值计算、符号计算和Simulink仿真方法求解方程: 𝑥′′+0.2𝑥′+0.4𝑥=0.2𝑢(𝑡),其中u(t)是单位阶跃函数。 x(0)=0 and x′(0)=0
时间: 2024-06-08 14:12:49 浏览: 149
数值计算方法:
```matlab
% 定义参数和初始条件
a = 0; b = 10;
x0 = [0; 0];
u = @(t) 0.2*(t>=0);
% 定义ODE方程
f = @(t,x) [x(2); -0.4*x(1)-0.2*x(2)+0.2*u(t)];
% 数值求解
[t, x] = ode45(f, [a,b], x0);
% 绘图
plot(t, x(:,1));
xlabel('t');
ylabel('x');
title('数值解');
```
符号计算方法:
```matlab
syms x(t) u(t)
eqn = diff(x, t, 2) + 0.2*diff(x, t) + 0.4*x == 0.2*u(t);
cond = [x(0) == 0, diff(x(0)) == 0];
xSol(t) = dsolve(eqn, cond);
u = @(t) 1*(t>=0);
fplot(xSol, [0, 10]);
xlabel('t');
ylabel('x');
title('符号解');
```
Simulink仿真方法:
1. 打开Simulink,创建一个新模型;
2. 从Simulink库中拖拽入一个Input类型的模块,并设置其信号类型为Step;
3. 再从库中拖拽入一个Transfer Fcn模块,设置其传递函数为s^2+0.2s+0.4,表示系统的传递函数;
4. 再拖拽入一个Product模块,设置其输入为0.2和上一步的Transfer Fcn输出;
5. 最后拖拽入一个Output模块,将上一步Product的输出连接到Output的输入端口;
6. 点击“Run”按钮运行仿真,可以得到系统的输出曲线。
Simulink模型如下图所示:
![Simulink模型](https://img-blog.csdnimg.cn/20211029225553499.png)
阅读全文