2020-2-5 matlab sir模型

1.模型描述

模型中把传染病流行范围内的人群分成三类:S类,易感者(Susceptible),指未得病者,但缺乏免疫能力,与感病者接触后容易受到感染;I类,感病者(Infective),指染上传染病的人,它可以传播给S类成员;R类,移出者(Removal),指被隔离,或因病愈而具有免疫力的人。
SIR 模型易感者人群从患病到移出的具体传染过程如下流程图描述:
在这里插入图片描述
其中:
过程①表示易感者人群(S)在接触到病毒感染后转变为病毒感染者人群(I);
过程②表示感染者人群(I)由于死亡或者治愈后生存转变为移出者人群®。
假设地区的总人口数目不变:
在这里插入图片描述在这里插入图片描述

function y=sir(t,x)
a=0.007063;  %感染率0.8
b=0.004419;  %治愈率0.2
y=[-a*x(1)*x(2),a*x(1)*x(2)-b*x(2),b*x(2)]';
end
%s变化率,i变化率,r变化率
%通过这三个微分公式,求出s,i,r随着t的变化图
[t,x]=ode45('sir',[0,1500],[0.9979,0938e-03,2.29080e-06]);
%ode45参数:1.函数句柄or函数名 2.t的取值 3.3个y的初始值
%ode45是用来求解常微分函数的方法
%原问题只知道变化率函数,这里求解原函数,用到该方法
[t,x]   %不加封号,作输出用
plot(t,x(:,1),'-',t,x(:,2),'*',t,x(:,3),'+')
plot(t,x(:,1),t,x(:,2),'.',t,x(:,3),'*');
xlabel('time/day');
ylabel('proportion');
legend('S','I','R');
title('λ=7.063e-3,μ=4.4419e-3');

在这里插入图片描述

  • 5
    点赞
  • 63
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值