matlab sir模型程序

matlab sir模型程序,第1张

function y=ill(t,x)

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

以上是sir模型方程,参数自己设置!

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,

你的程序后半部分,按上面语句试试

根据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)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12162743.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-21
下一篇2023-05-21

发表评论

登录后才能评论

评论列表(0条)

    保存