当前位置:   article > 正文

传染病模型(2)——SIS模型及matlab代码,差分求解_sis模型matlab

sis模型matlab

前言

常见的传染病模型按照具体的传染病的特点可分为 SI、SIS、SIR、SIRS、SEIR 模型。其中“S”“E”“I”“R”的现实含义如下:

S (Susceptible),易感者,指缺乏免疫能力健康人,与感染者接触后容易受到感染;

E (Exposed),暴露者 ,指接触过感染者但暂无传染性的人,可用于存在潜伏期的传染病;

I (Infectious),患病者,指有传染性的病人,可以传播给 S,将其变为 E 或 I ;

R (Recovered),康复者,指病愈后具有免疫力的人,如是终身免疫性传染病,则不可被重新变为 S 、E 或 I ,如果免疫期有限,就可以重新变为 S 类,进而被感染。

二、SIS传染病模型及matlab代码

        适用于只有易感者和患病者两类人群,但会反复发作的疾病。如细菌性痢疾等治愈后免疫力很低的疾病。

        记总人数为N,则N=S+E+I+R,这是各类人群的数量关系,在SI模型中没有E和R,即

                                                                                  N=S+I

        记i和s为易感者S和患病者I占总数N的比例,S=N\cdot s

        易感者S和患病者I之间的关系是患病者接触易感者将易感者转化为患病者,并且易感者者越多、患病者越多,转化为患病者的人也就越多。记单个患病者每天接触\lambda \cdot s个易感者,\lambda是接触率即单个患病者每天平均接触的易感者比例。

       每天被治愈的患病者人数占病人总数的比率为μ,即日治愈率。

       那么患病者每天增加的比例为

                                                                  didt=i×(1i)λμi

       患病者每天增加的数量为

                                                                  dIdt=I×(1I)λ/NμI

        记σ=λ/μ

       

        转化为数量得:

                                   

        matlab代码如下

  1. clc;
  2. close all;
  3. clear all;
  4. I=10;
  5. N=10000;
  6. S=N-I;
  7. lemda=0.1;
  8. mu=0.05;
  9. t=1:365;
  10. for i=1:(size(t,2)-1)
  11. I(1+i)=I(i)+I(i)*(N-I(i))*lemda/N-mu*I(i);
  12. S(1+i)=N-I(1+i);
  13. end
  14. plot(t,I,t,S)
  15. xlabel('时间')
  16. ylabel('人数')
  17. legend('患病者','易感者')
  18. title('SI传染病模型')

        结果如下,λ<μ                                                               λ>μ 

            

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/374967
推荐阅读
相关标签
  

闽ICP备14008679号