模型假设

1、总人数N不变。人群分为健康者、病人和移出者三类。t时刻三类人数量分别记为s(t),i(t)和r(t)。

2、病人的日接触率为,日治愈率为

3、移出者康复后只有暂时免疫力,单位时间内将有的移出者丧失免疫而可能再次被感染。

模型构成

由假设1显然有

          (1-1)

建立关于s(t),i(t)和r(t)的三个方程

          (1-2)

记初始时刻的健康人、病人和移出者人的比例分别是,则SIRS模型的方程可以写作

           (1-3)

方程(1-3)中无法求出s(t),i(t)和r(t)的解析解,我们先作稳定性分析。

稳定性分析

由于s(t)+i(t)+r(t)=N是一个常数,所以令r=N-s-i,则式(1-3)可以降阶为

          (1-4)

引理1 令,则为方程(1-4)的正向不变集。

定义阈值,可以得到如下关于平衡点稳定性的结论:

定理1 如果,则方程(1-4)只有疾病消除平衡点,并且是全局渐进稳定的。

定理2 如果,则方程(1-4)存在唯一的,且全局渐进稳定的地方平衡点,其中  ,

模型优化

根据阈值的定义和以上2个定理,就某一地区而言,当所研究的传染病的传染力不是很强,即传染率满足时,由疾病消除平衡点的全局稳定性可知传染病最终会在该地区消除的;而当所研究的传染病的传染力较强,即传染率满足时,由正平衡点的全局稳定性可知传染病会在该地区蔓延下去,成为地方病。希望通过采取人为的措施,即对传染病的动力系统进行有效的控制,使 时系统的疾病消除平衡点 具有很好的全局性态,这样疾病将最终消除,为此考虑如下的方程:

          (1-5)

其中为控制项。

如果只考虑对染病者施加控制,在医学上一般采用的方法有2种:一种是用有效的药物对染病者进行治疗;另一种是将染病者隔离起来以避免染病者与易感者的接触。令分别表示隔离率和治愈率,考虑如下形式的控制器:

定理3对于方程(1-5),如果,施加控制,且满足,则全局渐近稳定。

数值计算

例 在方程(1-4)中,假设N=100, ,则得到如下系统:

          (1-6)

现分别在=0.001,=0.01时讨论其平衡点的稳定性:

=0.001时,,方程(1-6)只有疾病消除平衡点 ,由定理1可知是全局渐近稳定的。

=0.01时,,由定理2可知方程(1-6)有唯一的、全局渐近稳定的地方病平衡点,其中

假定3 个不同的初值:(30,70),(50,50),(80,20)。

=0.001时,得到如图1的相空间曲线,由图可以看到,无论初值如何,最终都趋于

图1
%%子程序
function y=ill(t,x)
N=100;a=0.001;b=0.1;c=0.05;
y=[-a*x(1)*x(2)+5-c*x(1)-c*x(2),a*x(1)*x(2)-b*x(2)]';
%%运行的程序
[t,x]=ode45('ill',[0,100],[30,70]);
plot(x(:,1),x(:,2));
hold on
[t,x]=ode45('ill',[0,100],[50,50]);
plot(x(:,1),x(:,2));
hold on
[t,x]=ode45('ill',[0,100],[80,20]);
plot(x(:,1),x(:,2));
xlabel('s(t)');ylabel('i(t)')
legend('(30,70)','(50,50)','(80,20)')

=0.01时,得到如图2的相空间曲线,由图可以看到,无论初值如何,最终都趋于。在这种情况下疾病不能最终被消除,成为该地区的地方病,为此考虑疾病的控制问题。

图2
%%子程序
function y=ill(t,x)
N=100;a=0.01;b=0.1;c=0.05;
y=[-a*x(1)*x(2)+5-c*x(1)-c*x(2),a*x(1)*x(2)-b*x(2)]';
%%运行的程序
[t,x]=ode45('ill',[0,100],[30,70]);
plot(x(:,1),x(:,2));
hold on
[t,x]=ode45('ill',[0,100],[50,50]);
plot(x(:,1),x(:,2));
hold on
[t,x]=ode45('ill',[0,100],[80,20]);
plot(x(:,1),x(:,2));
xlabel('s(t)');ylabel('i(t)')
legend('(30,70)','(50,50)','(80,20)')

=0.01时,为使疾病消除平衡点全局渐近稳定,需要对病人施加有效的控制,考虑如下的系统:

          (1-7)

由定理3,取,并令隔离率,治愈率,仿真得到如图3的相空间曲线。由图3可知,方程(1-7)的平衡点( 100,0) 全局渐近稳定,也就是说,当=0.01时,控制使方程(1-7)的疾病消除平衡点全局渐近稳定。

图3
%%子程序
function y=ill(t,x)
N=100;a=0.01;b=0.1;c=0.05;k1=0.9;k2=0.01;
y=[-a*x(1)*x(2)+5-c*x(1)-c*x(2),a*x(1)*x(2)-b*x(2)-k1*a*x(1)*x(2)-k2*x(2)]';
%%运行的程序
[t,x]=ode45('ill',[0,100],[30,70]);
plot(x(:,1),x(:,2));
hold on
[t,x]=ode45('ill',[0,100],[50,50]);
plot(x(:,1),x(:,2));
hold on
[t,x]=ode45('ill',[0,100],[80,20]);
plot(x(:,1),x(:,2));
xlabel('s(t)');ylabel('i(t)')
legend('(30,70)','(50,50)','(80,20)')

参考文献

[1]姜启源,谢金星,叶 俊.数学模型(第四版).北京:高等教育出版社,2011

[2]陈 鑫,徐赫屿.一类具有线性传染力的 SIRS 传染病动力系统的分析与控制[J].沈阳师范大学学报:自然科学版,2012,30( 2) :28-30.

[3]廖晓昕.稳定性的数学理论及应用[M].武汉:华中师范大学出版社,2001:140-161.

SIRS传染病模型求解及MATLAB实现相关推荐

  1. 小世界网络中的SIRS传染病模型实现

    小世界网络 小世界网络模型是Watts和Strogatz于1998提出的一种描述现实社交关系网络的模型,该模型体现了现实社交网络中同质性和弱联系,使得"六度分隔"现象有了理论依据, ...

  2. 【路径规划】基于遗传算法实现外卖订单动态变换模型求解附matlab代码

    1 内容介绍 前瞻产业研究院发布的<中国在线外卖商业模式与投资战略规划分析报告>统计数据显示,2015-2018年中国在线外卖收入年均增速约为117.5%,是传统餐饮业的12.1倍,我国在 ...

  3. matlab求解常微分方程组/传染病模型并绘制SIR曲线

    看了很多关于传染病模型的matlab程序,大都是绘制出两条曲线(I.S)的,本文最大的不同是绘出SIR三条曲线. 先给出SIR微分方程组 函数文件: run的程序:

  4. 传染病模型(1)——SI模型及matlab详解

    前言 常见的传染病模型按照具体的传染病的特点可分为 SI.SIS.SIR.SIRS.SEIR 模型.其中"S""E""I""R&q ...

  5. vecm模型怎么写系数_经典传染病的SIR模型(基于MATLAB)

    经典的SIR模型是一种发明于上个世纪早期的经典传染病模型,此模型能够较为粗略地展示出一种传染病的发病到结束的过程,其核心在于微分方程,本次我们利用matlab来对此方程进行 其中三个主要量 S是易感人 ...

  6. matlab 双层规划求解,双层规划模型的遗传算法求解的Matlab源码

    双层规划模型的遗传算法求解的Matlab源码 双层规划模型的遗传算法求解的Matlab源码 function [BESTX,BESTY,ALLX,ALLY]=GAU (KU,KD,NU,ND,PmU, ...

  7. SIR传染模型Matlab代码,sir传染病模型 MATLAB代码运行不了,

    问题描述: sir传染病模型 MATLAB代码运行不了, function y=ill(t,x) a=1;b=0.3; y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'; ts ...

  8. sirs模型_数学建模常用算法——传染病模型(一)SI模型

    今天,就和大家聊一聊传染病模型.说实话是有点跑题了,毕竟这是算法的专辑,不过最近有不少同学都在做传染病传播方面的题目,所以就决定是它了. 传染病的传播模型,是以传染病的传播速度.空间范围.传播途径.动 ...

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

    /*仅当作学习笔记,若有纰漏欢迎友好交流指正,此外若能提供一点帮助将会十分荣幸*/ 在上一篇博文中介绍了病毒模型的基本计算思路方法,而本文将会重点讨论基本再生数R0-这个决定病毒是继续发展还是衰减的关 ...

  10. 微分方程(人口预测与传染病模型)

    一.定义 微分方程:含导数或微分的方程 微分方程的阶数:所含导数或微分的最高阶数,如y'''+2y''-2x=0是三阶微分方程 微分方程的解:使得微分方程成立的函数 例如y'-2x=0的解可以为x²或 ...

最新文章

  1. 摸鱼上招聘网站的小伙伴们注意了!监控系统可能已经把你设为“离职高危”......
  2. php文字超链接怎么写,php 文本URL转换为超链接功能实例
  3. 内存或磁盘空间不足,Microsoft Office Excel 无法再次打开或保存任何文档。 [问题点数:20分,结帖人wenyang2004]...
  4. ArrayList clone()– ArrayList深拷贝和浅拷贝
  5. Flowable 数据库表结构 ACT_RU_EXECUTION
  6. java sftp 公开键设定_如何使用JSch SFTP库解析Java UnknownHostKey?
  7. Eclipse下maven使用嵌入式(Embedded)Neo4j创建Hello World项目
  8. 第十三章 hadoop机架感知
  9. shell脚本实例(随堂笔记)
  10. DropDownList下拉框多选
  11. ios 渐变透明背景_iPhone 全透明动态壁纸,内含完整教程
  12. 公司官网建站笔记(五):域名工信部备案完整流程并解析公网访问
  13. Java中的移位操作——Java编程思想笔记
  14. abb 机械手臂 示例程序
  15. css 使用 :placeholder-shown 实现MaterialDesign风格的交互
  16. LNZ32P4-C - Pan-Tilt-Zoom (PTZ) Camera with 1080p HD Video Color Night Vision
  17. 计算机网络知识总结:ip地址、分类及什么样的ip主机地址可以分配给主机使用
  18. Flutter 2.10 现已发布
  19. Web渗透测试对靶机注入shell(phpMyAdmin)
  20. 通过winapi获取MD5值

热门文章

  1. 模电笔记1 | 信号的放大与分贝计算
  2. 单片机特殊知识总结(二)
  3. SprutCAM v4.0.1.30 Expert Edition-ISO 1CD(完全版)
  4. PCB板材及生产流程详述
  5. 在excel中求算风向和风速范围的函数,用origin做风向玫瑰图
  6. 世界著名汽车标志(大全)
  7. 【JAVA程序设计】(C00011)基于ssm的企业OA(考勤)管理系统
  8. 谷歌正式宣布退出中国 关闭google.cn
  9. 胡泳滨maya python
  10. ubuntu查看端口