SIR传染病模型(微分方程系列1)

一:基本参数

SIR模型是常见的一种描述传染病传播的数学模型,其基本假设是将人群分为以下三类:

S:(Susceptible):易感人群,指未得病者,但缺乏免疫能力,与感病者接触后容易受到感染。

I:(Infective):患病人群,指染上传染病的人,他可以传播给易感人群。

R:(Removed):移除人群,被移出系统的人,因病愈(具有免疫力)或死亡的人。这部分人不再参与感染和被感染过程


二:问题假设

1:没有天生携带抗体的人

2:总人数N不变且仅包含三种健康状态,健康人、病人和移出者的比例分别为s ( t ) , i ( t ) , r ( t ) 

3:病人的日接触率为\lambda,日治愈率为\mu,接触数\sigma = \lambda / \mu

4:假设给定的数据真实可靠,不考虑人口的自然出生,自然死亡以及其他类型的人口流动

5:    假设严格隔离的新型冠状病毒感染病人都不再传染他人


三:模型建立

 具体这个模型是咋写出来的,下面是我的推导过程(手稿)

 

 实在无法理解的话,仅需要把SIR的固定模式牢记即可(上面的黄图)

 这里我们设\lambda=1,\mu=0.5,即每个患者可以传染一个易感染者,治愈率为0.5;

初值条件我们设定的初始易感染者S为0.99,初始患者I为0.01,那为啥没有R(治愈者)的初值条件呢,因为我们已经假设没有天生就携带抗体的人,所以R(0)=0,就不需要写,但在之后的过程中会出现携带抗体的人即治愈者,R=1-S-i


四 代码实现

首先建立一微分方程函数

function   y = covid(t,x)    %因为我们的微分方程是X关于t的变化率的体现
    a=1;      %感染率miu的参数配置
    b=0.5;    %治愈率lamda的参数配置
    y=[a*x(1)*x(2)-b*x(1);-a*x(1)*x(2)];
end

主函数

ts=0:40;
x0=[0.01, 0.99];
[t,x]=ode45(@ill,ts,x0);
r=1-x(:,1)-x(:,2);
plot(t,x(:,1),t,x(:,2),ts,r),grid
legend('i(t)','s(t)','r(t)')

运行结果

 

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值