
a=1b=0.3
y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'
ts=0:50
x0=[0.02,0.98]
[t,x]=ode45('ill',ts,x0)
plot(t,x(:,1),t,x(:,2)),grid,pause
plot(x(:,2),x(:,1)),grid on
end
ts=0:50x0=[0.02,0.98]
[t,x]=ode45('ill',ts,x0)
plot(t,x(:,1),t,x(:,2)),grid,pause
plot(x(:,2),x(:,1)),grid,
你的程序后半部分,按上面语句试试
根据ode45()函数对微分方程的形式要求, y=ill(t,x)实际上是 y'=ill(t,x), y必须是列向量y(1) = dy1/dt, y(2)=dy2/dt
故这一行就是 dy1/dt = a* y1*y2-b*y1, dy2/dt= -a*y1*y2
正是sir模型方程(y1=i, y2=s)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)