用matlab求解{di/dt=si-0.3i ds/dt=-0.3si 0≤t≤50 i(0)=0.02,s(0)=0.98}
时间: 2024-05-22 16:12:54 浏览: 120
poisson1Dneumann(F,x0,xEnd):使用 Neumann 边界条件求解一维泊松方程 d2U/dX2 = F-matlab开发
可以使用ode45函数求解该微分方程组:
```matlab
function dydt = myode(t,y)
si = y(1);
i = y(2);
dydt = [-0.3*si; si-0.3*i];
end
[t, y] = ode45(@myode, [0 50], [0.98 0.02]);
```
其中,myode函数定义了微分方程组的形式,ode45函数则是使用4阶龙格库塔法进行数值求解,返回的t和y即为时间和对应的状态值。最后可以使用plot函数绘制出i和s随时间的变化图像:
```matlab
plot(t, y(:,2), t, y(:,1))
legend('i', 's')
xlabel('时间')
ylabel('状态变量')
```
绘制出的图像如下:
![image-20211008160708427](https://i.loli.net/2021/10/08/3z1wKbYpWgO5LZD.png)
阅读全文