传染病模型(3)——SIR模型及matlab运行结果

编程入门 行业动态 更新时间:2024-10-26 21:35:45

传染病<a href=https://www.elefans.com/category/jswz/34/1771358.html style=模型(3)——SIR模型及matlab运行结果"/>

传染病模型(3)——SIR模型及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 类,进而被感染。

三、SIR传染病模型及matlab代码

        适用于有易感者、患病者和康复者三类人群,治愈后不会再发的疾病。如水痘,康复者具有很强免疫力,不会被再次感染。对于致死性的传染病也可以使用这个模型,死亡的病人也可以归入康复者。此时的康复者可以理解为退出了传染系统。

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

                                                                                  

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

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

       每天被治愈的患病者人数占病人总数的比率为,即日治愈率。被治愈的病人有很强的免疫力,不会被再次感染。

        matlab代码

clc;
close all;
clear all;
I=10;
R=0;
N=10000;
S=N-I;
lemda=0.2;
mu=0.05;
t=1:365;
for i=1:(size(t,2)-1)I(1+i)=I(i)+I(i)*(N-I(i)-R(i))*lemda/N-mu*I(i);S(1+i)=S(i)-lemda*I(i)*S(i)/N;R(1+i)=N-I(1+i)-S(1+i);
end
plot(t,I,t,S,t,R)
xlabel('时间')
ylabel('人数')
legend('患病者','易感者','康复者')
title('SIR传染病模型')

                结果如下

                    

更多推荐

传染病模型(3)——SIR模型及matlab运行结果

本文发布于:2024-02-12 23:34:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1689847.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:模型   传染病   matlab   SIR

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!