基于传染病模型中的再生数R0的讨论【基于matlab的动力学模型学习笔记_2】

/*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/
在上一篇博文中介绍了病毒模型的基本计算思路方法,而本文将会重点讨论基本再生数R0-这个决定病毒是继续发展还是衰减的关键指标 。
摘 要:过去的半个多世纪,传染病模型在数学生态学领域已受广泛重视 。而再生数又是考量传染病能否流行的指标性因素,因此本文将基于传统病毒模型讨论不同因素对再生数的影响,以及再生数的大小对病毒传播的影响 。
0 引言
研究疾病、病毒的传播和扩散机制以及相应的预防措施是当前复杂系统和传染病动力学研究领域的热点问题 。基本再生数是考量病毒能否流行的指标性因素,但R0>1时,代表病毒将会继续流行传播;当R0
本文将讨论不同模型下的无病平衡点以及染病平衡点条件下的再生数,来分析其是否具备流行性 。
1 正平衡条件下的基本再生数
在本节中仅仅对传统的传染病模型进行一个简单的分析,最常用的方法就是根据无病平衡点的局部稳定性,采用再生矩阵的方法求出基本再生数 。
1.1 病毒模型搭建
设有SIR模型:
其中,S(T)、I(T)、R(t)中分别代表群体中易感者、染病者及恢复(移出)者的个数 。这里假定新出生的人口数为A,自然死亡率为d,恢复率为γ,传染(对易感人群来说就是感染系数)系数为β 。
根据模型(1.2),若我们要求其无病毒平衡点,即设置初始条件:即S(T)、I(T)、R(t)的变化率为0,也就是:
所以(1.2)可以改写为:
可求得平衡点为:
2 影响再生数的因素
本节将就(1.4)式中对再生数构成影响的几个参数分别进行讨论,单独研究它们的变动对再生数乃至病毒传播的影响 。
基础数据设置:
2.1 恢复率的影响
当讨论恢复率时,假设传染系数与死亡系数一定

基于传染病模型中的再生数R0的讨论【基于matlab的动力学模型学习笔记_2】

文章插图
将(1.5)中的数据带入式(1.4),可得:
可以看出,在假设传染系数与死亡系数一定时,再生数的大小取决于恢复率γ的大小 。即病毒的传播流行与否取决于病人的恢复率,也就间接的等同于医疗机构的医疗水平 。
【基于传染病模型中的再生数R0的讨论【基于matlab的动力学模型学习笔记_2】】2.1.1 恢复水平γ=0.1
当恢复率γ=0.11 。
clear;clc;%初始参数设置N = 1;%人口总数I = 0.01;%感染者S= N-I;%易感者R=0;%恢复者b=0.5;%传染系数d=0.03;%死亡系数a=0.1;%康复系数y=0.01048;%出生率A=y; %新出生人数T= 1:140;for idx = 1:length(T)-1S(idx+1) = S(idx)+A-d*S(idx)-b*S(idx)*I(idx);I(idx+1) = I(idx)+b*S(idx)*I(idx)-d*I(idx)-a*I(idx);R(idx+1) = a*I(idx)-d*R(idx);endfigureplot(T,S,T,I,T,R);grid on;xlabel('天');ylabel('人数')legend('易感者S','感染者I','恢复者R')title('康复率为0.1')
根据上述仿真代码,可得:
可以看出,当恢复率γ=0.1
2.1.2恢复水平γ=0.2>0.1446
当恢复率γ=0.2>0.1446时,计算得到再生数R0=0.76
仿真可得:
可以看出,当恢复率γ=0.2>0.1446时,即伴随着医疗水平的提升,感染人数在50天左右变为0,也就意味着病毒的消失 。
2.2死亡率的影响
当讨论死亡率时,假设传染系数与恢复率一定,设为
将(1.5)中的数据带入式(1.4),可利用中的solve函数计算,计算程序为:
syms S[solS]=solve(0.5*0.01048-S*S-0.15*S==0,S)solutions=[solS]d=double(solS)%S*的值
计算结果:
易得:
可以看出,在假设传染系数与恢复率一定时,再生数的大小取决于死亡率的大小 。即病毒的传播流行与否取决于病人能否恢复,这与恢复率类似,也间接的等同于医疗机构的医疗水平 。