/*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/

在上一篇博文中介绍了病毒模型的基本计算思路方法,而本文将会重点讨论基本再生数R0-这个决定病毒是继续发展还是衰减的关键指标。

摘 要:过去的半个多世纪,传染病模型在数学生态学领域已受广泛重视。而再生数又是考量传染病能否流行的指标性因素,因此本文将基于传统病毒模型讨论不同因素对再生数的影响,以及再生数的大小对病毒传播的影响。

0 引言

研究疾病、病毒的传播和扩散机制以及相应的预防措施是当前复杂系统和传染病动力学研究领域的热点问题。基本再生数是考量病毒能否流行的指标性因素,但R0>1时,代表病毒将会继续流行传播;当R0<1时,代表病毒的传播势头将会呈下降趋势,直至最终灭亡。

本文将讨论不同模型下的无病平衡点以及染病平衡点条件下的再生数,来分析其是否具备流行性。

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 恢复率的影响

当讨论恢复率时,假设传染系数与死亡系数一定

将(1.5)中的数据带入式(1.4),可得:

可以看出,在假设传染系数与死亡系数一定时,再生数的大小取决于恢复率γ的大小。即病毒的传播流行与否取决于病人的恢复率,也就间接的等同于医疗机构的医疗水平。

2.1.1 恢复水平γ=0.1<0.1446

当恢复率γ=0.1<0.1446时,计算得到再生数R0=1.34>1。

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);
end
figure
plot(T,S,T,I,T,R);
grid on;
xlabel('天');ylabel('人数')
legend('易感者S','感染者I','恢复者R')
title('康复率为0.1')

根据上述matlab仿真代码,可得:

可以看出,当恢复率γ=0.1<0.1446时,感染人数一直存在,导致病毒一直未消亡。

2.1.2 恢复水平γ=0.2>0.1446

当恢复率γ=0.2>0.1446时,计算得到再生数R0=0.76<1。

仿真可得:

可以看出,当恢复率γ=0.2>0.1446时,即伴随着医疗水平的提升,感染人数在50天左右变为0,也就意味着病毒的消失。

2.2 死亡率的影响

当讨论死亡率时,假设传染系数与恢复率一定,设为

将(1.5)中的数据带入式(1.4),可利用matlab中的solve函数计算,计算程序为:

syms S
[solS]=solve(0.5*0.01048-S*S-0.15*S==0,S)
solutions=[solS]
d=double(solS)%S*的值

计算结果:

易得:

可以看出,在假设传染系数与恢复率一定时,再生数的大小取决于死亡率的大小。即病毒的传播流行与否取决于病人能否恢复,这与恢复率类似,也间接的等同于医疗机构的医疗水平 。

2.2.1 恢复水平d=0.02<0.0292

当恢复率d=0.02<0.0292时,计算得到再生数R0=1.54>1。

仿真得:

可以看出,当死亡率d=0.02<0.0292时,感染人数一直存在,病毒一直未消亡。

2.2.2 恢复水平d=0.05>0.0292

当恢复率d=0.05>0.0292时,计算得到再生数R0=0.52<1。

仿真可得:

可以看出,当死亡率d=0.05>0.0292时,感染人数在50天左右消失,并消亡,病毒不流行。

2.3 传染系数的影响

当讨论传染系数时,假设死亡率与恢复率一定,设为

易得:

可以看出,在假设死亡率与恢复率一定时,再生数的大小取决于感染率β的大小。即病毒的传播流行与否取决于防范措施的好坏,例如佩戴口罩。当防范得当可以使得感染系数降低,也就抑制病毒传播。

2.3.1 传染系数β=0.3<0.5153

当恢复率β=0.3<0.5153时,计算得到再生数R0=0.58<1。

仿真可得:

可以看出,当死亡率β=0.3<0.5153时,即代表防范得当,感染人数在60天左右变为0,病毒消亡。

2.3.2 传染系数β=0.8>0.5153

当恢复率β=0.8>0.5153时,计算得到再生数R0=1.54>1。

仿真得:

可以看出,当死亡率β=0.8>0.5153时,即代表防范措施不当,病毒一直都未消失,甚至在80天之后出现感染者再次增加的情况,即可能导致大规模爆发性传播。

3 总结

参考文献

  1. 崔玉美,陈姗姗,傅新楚.几类传染病模型中基本再生数的计算.复杂系统与复杂性科学,2017,14(4):14-31.
  2. 夏立标.一类传染病模型无病平衡点的全局稳定性.浙江大学学报:理学版,2014,41(4):391-398.
  3. 刘变红,刘桂荣.一类受媒体报道影响的随机SIRI传染病模型的定性分析.吕梁学院学报,2020,10(2):14-18.

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

  1. 四阶龙格库塔法的基本思想_SIR模型计算基本再生数R0

    SI模型没有考虑治愈人数,与实际情况不符.SIR模型弥补了这一缺陷.疫情初期,用SIR模型拟合,实际曲线与模型符合很好.由于考虑了治愈者,模型预测的感染人数会略有增加,因而相应的基本再生数R0 将会高 ...

  2. 带时滞的病毒模型计算模板【基于matlab的动力学模型学习笔记_1】

    /*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/ 摘 要:无论是生物病毒还是网络病毒,其内核的传播机理都有很多的相似之处.因此,本文在经典的SIR病毒模型基础上改造出 ...

  3. 一维离散动力学系统的混沌研究【基于matlab的动力学模型学习笔记_8】

    摘 要:混沌(Chaos)是指发生在确定系统中的貌似随机的不规则运动,本文将基于几种经典的一维动力学方程系统,根据其动力学方程研究其混沌产生过程以及相对应的MATLAB仿真. /*仅当作学习笔记,若有 ...

  4. 二维离散动力学系统的混沌研究【基于matlab的动力学模型学习笔记_9】

    摘 要:混沌(Chaos)是指发生在确定系统中的貌似随机的不规则运动,本文将基于经典的二维系统,然后根据动力学方程研究其混沌产生过程以及相对应的MATLAB仿真,再讨论Lyapunov指数以及正平衡点 ...

  5. 双时滞四维捕食网络的分析【基于matlab的动力学模型学习笔记_6】

    /*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/ 本系列谈论过单时滞,但还没提及过双时滞,本文将着重介绍一种双时滞系统并对其进行简单处理分析. 摘 要:本文针对一个捕 ...

  6. 基于Duffing系统的分数阶混沌研究【基于matlab的动力学模型学习笔记_5】

    /*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/ 前面的几篇博文我们提到提到的都是整数阶模型,这里我们将对分数阶模型进行一个简单的研究. 摘要:与整数阶混沌相比,分数 ...

  7. lyapunov指数求取时运用qr法与jacobi法之间的区别与联系【基于matlab的动力学模型学习笔记_10】

    在进行lyapunov指数的求取时,需要知道离散动力学系统对应Jacobi矩阵的特征值,qr法与Jacobi法都可以求解矩阵特征值,其中qr法求解的是矩阵所有特征值,而Jacobi法求解的是矩阵的最大 ...

  8. 【Matlab 机器人工具箱 学习笔记】双旋转台5轴数控机床 运动学模型02

    参考: [1]何永红, 齐乐华, 赵宝林. 双转台五轴数控机床后置处理算法研究[J]. 制造技术与机床, 2006(1). [2]李永桥, 陈强, 谌永祥. 双转台五轴数控机床运动变换及求解方法的研究 ...

  9. 《果壳中的C# C# 5.0 权威指南》 (09-26章) - 学习笔记

    <果壳中的C# C# 5.0 权威指南> ========== ========== ========== [作者] (美) Joseph Albahari (美) Ben Albahar ...

最新文章

  1. iOS 线程之GCD的高级使用方法
  2. Nmap扫描教程之基础扫描详解
  3. cmd指令卸载java_.net 服务 安装 卸载 命令行 bat cmd
  4. 麦子的第一个注解+spring小案例 欢迎指点学习。
  5. Silverlight 2 DispatcherTimer和通过XAML创建UI元素
  6. 关于经纬度的两个计算[Teaksxgluxv]
  7. The Last Non-zero Digit POJ - 1150(n!mod p)
  8. 应用程序挂起、复原与终止— IOS开发
  9. 关于在项目中使用开源项目的疑惑,恳请大家给点意见!
  10. spring---FactoryBean与BeanFactory的区别
  11. ch8 ProviderDemo
  12. 所有for循环都可以用while循环改写python_python-for循环与while循环
  13. 100多个经典常用的jQuery插件大全实例演示和下载
  14. MySQL comment 使用
  15. php自学多久可以上岗,自学php多久能找工作,PHP要自学多久才能找到工作
  16. 【译】Unity3D Shader 新手教程(1/6)
  17. 什么是“可维护性”?
  18. pynq 环境搭建_PYNQ 经典项目分享之 - Hello World
  19. Android王者荣耀模拟金牌,荣耀战区修改方法 轻松获得省级金牌银牌
  20. 视频直播之webp礼物解决方案

热门文章

  1. SearchView实时搜索初体验
  2. Profibus-DP通讯中数据类型实数(REAL)和字(WORD)的转换
  3. 闲话中国人的竖式乘法和埃及人的二分乘法
  4. 笔记本电池9针脚图解_旧毛衣如何妙用改造成暖暖的抱枕教程图解
  5. 怎么从零开始学习网络工程师?华为大牛说:完全可以
  6. 8/21 牛客补题+cf思维+tarjan
  7. Python numpy.meshgrid()
  8. php屏蔽弹出窗口,可以不被浏览器拦截的弹出窗口JS代码
  9. redhad 下载)转
  10. 3D立体幻镜(tm) Pro