传染病传播及预防的数学模型.docx
《传染病传播及预防的数学模型.docx》由会员分享,可在线阅读,更多相关《传染病传播及预防的数学模型.docx(14页珍藏版)》请在冰点文库上搜索。
传染病传播及预防的数学模型
传染病传播及预防的数学模型
摘要:
随着社会和经济的开展,医学水平能力渐渐得到提高,现今社会的医学水平已经能够有效地预防和控制许多传染病,但是仍然有一些传染病爆发或流行,危害人们的健康和生命。
人们也认识到定量地研究传染病的传播规律、为预测和控制传染病蔓延创造条件的重要性。
通过建立传染病的传播模型,可以了解传染病的扩散传播规律,为预测和控制传染病提供可靠、足够的信息。
传染病病毒是随时间演变的过程。
本文以微分方程的SIR模型为根底,分析传染病的扩散传播规律,建立动态模型。
应用传染病动力学模型来描述疾病开展变化的过程和传播规律,预测疾病发生的状态,评估各种控制措施的效果,为预防控制疾病提供最优决策依据,维护人类健康与社会经济开展。
通过人数的规划,建立了传染病的微分方程模型,并用matlab软件拟合出患者人数随着时间的变化的关系曲线,利用控制变量的方法,控制某些变量不变,改变其中某个变量,通过比拟找出导致传染病的传染的主要因素,以便做出相应的措施。
本模型的关键在于把确诊患者、疑似患者、治愈者、死亡和正常人划分成可传染者和不可传染者两类人,辅加一些特殊的参数,如:
传染率,治愈率等等,构成微分方程组,找出单位时间内正常人人数的变化,确诊患者人数的变化,疑似患者人数的变化,死亡者或治愈者〔即退出系统者〕的人数的变化,从而建立了微分方程模型。
在模型建立的根底上,通过matlab软件拟合出患者人数随时间变化的曲线关系图,分析图形,得出结果,从而找到解决问题的响应措施。
关键词:
动力学模型微分方程模型控制变量matlab软件
一、问题重述
某种不完全确知的具有传染性病毒的潜伏期为di~d2到,病患者的治
愈时间为d3天。
该病毒可通过直接接触、口腔飞沫进行传播、扩散,该人群的
人均每天接触人数为r。
为了控制病毒的扩散与传播将该人群分为五类:
确诊患者、疑似患者、治愈者、死亡和正常人,可控制参数是隔离措施强度p(潜伏期
内的患者被隔离的百分数)。
通过合理的假设建立传染病传播的数学模型。
二、问题分析
据题目意思,这是一个传染性病毒随着时间演变的过程,我们要分析、预测、研究它就得建立动态模型,在此我们选用微分方程。
因题目中把人群分为五类:
确诊患者、疑似患者、治愈者、死亡和正常人,所以我们采用SIR模型。
模
型中我们找出单位时间内这五类人群人数的变化来建立微分方程,得出模型。
再
利用matlab画出图形,加以分析,到达得出应对措施的目的。
把考察范围内的人群分为以下种类:
1、健康人群,即易感染(Susceptible®人群。
记其数量为S(t),表示t时刻未感染病但有可能感染该疾病的人数;
2、潜伏期人群,即被感染(Infection)该疾病的人群,记其数量为I(t)表示t时刻可能感染该疾病的但又不是疑似病患的人数;
3、疑似病患,记其数量为E(t)表示示t时刻感染该疾病的并是疑似病患的人数;
4、确诊病患,记其数量为Q(t)表示示t感染该疾病并确诊为患者的人数;
5、恢复人群(Recovered,记其数量为R(t),表示t时刻已从感染病者中移出的人数(这局部人数既不是已感染者,也不是非感染者,不具有传染性,也不会再次被感染,他们已经推出了传染系统)。
基于以上的假设,健康人群从潜伏期到移出传染系统的过程图如下:
三、模型假设
1•假设易感人数的变化率与当时的易感人数和感染人数的乘积成正比;
2•假设从感染数中移除个体的速率与当时的感染人数成正比;
3•假设考察地区内疾病传播期间忽略人口的出生,死亡,流动等种群动力因素对总人数的影响。
即:
总人口数不变,记为N。
4•假设潜伏期人群不会传染健康人,不具有传染性。
5•假设被隔离的患者无法跟别人接触,不会传染健康人。
6•假设治愈者已对该病毒有免疫力,不会再被该传染病传染,可以退出系统
7•假设初始时刻健康人群的总人数为So千万,潜伏期的总人数为1。
=1,疑
似病患的总人数为Eo=0,确诊病患的总人数为Qo=0,恢复人群的总人数为
R0=0。
四、符号说明
病毒潜伏期(天)d1~d2
病患者治愈时间(天)d3
病患人均每天接触人数r
隔离措施强度p
时刻t内健康人群S(t)
时刻t内潜伏期人群l(t)
时刻t内病症疑似人群E(t)
时刻t内已患病人群Q(t)
时刻t内治愈或死亡人群R(t)
传染病传染率•
五、建立模型
由模型的假设得到如下关系:
S(t)+l(t)+E(t)+Q(t)+R(t)=N
1)根据假设在时刻氏内健康人群变化有:
S(t:
t)—S(t)—Q(t)(1-p)S(t):
t
11
2)在时刻氏内治愈或死亡人群的变化有:
R(t•At)-R(t)I(t)t(为单
d3d3
位时间内患者的恢复率)
3)在时刻't内病症疑似人群的变化有:
1
E(tp-E(t)二-■Q(t)(1-p)[E(t)(1-p)E(t)pLt
d3
4)在时刻氏内已患病人群的变化有(已患病人群等于潜伏期病人转为感染者减
21
去移除人数):
Q(t=t)-Q(t)-l(t)-——Q(t)
dj+d2d3
5)在时刻氏内潜伏群期人群的变化有
12
I(tE)«Q(t)(1-p)[S(t)Egp)E⑴乜]-卡1(心
根据以上变化有
翠-g〔t〕〔i—p〕s〔t〕
卩訓〕
jdHQ(t)(1—p)[S⑴+E(t)(1—p)+E(t)p汁启1(t)
六、模型的求解与验证
模型一分析:
当d!
=1,d2=14,d3=30,r=20,p=60%,患者2天后入院治疗,疑似患者2天后被隔离。
有初始状态的患者人数为:
Q=Q〔0〕*〔N一°〔0〕一£〔0〕*「〕*2,那么患
N
者人数随时间变化如图一:
由上图可以得到:
在当d,=1,d2=14,d3=30,r=20,p=60%,患者2天后
入院治疗,疑似患者2天后被隔离的条件下。
当「时,患者的人数是急剧上升的,在到达最大值,此时患者人数为在采取医疗措施,比方患者入院治疗,隔离疑似患者等后患者人数随着时间的增长呈现下降的趋势,在250天后患者人数为
模型二分析:
当d1=1,d2=14,d3=30,r=20,^60%,患者天后入院治疗,疑似患者
天后被隔离。
有初始状态的患者人数为:
Q二Q(0)*(N—Q⑼_E(0),
N
那么患者人数随时间变化如下列图二:
由上图可得:
在当d“=1,d2"4,d3=30,r=20,p=60%,患者天后入院
治疗,疑似患者天后被隔离的条件下。
当「时,患者的人数是急剧上升的,在到达最大值,此时患者人数为在采取医疗措施,比方患者入院治疗,隔离疑似患者等后患者人数随着时间的增长呈现下降的趋势,在250天后患者人数为8。
模型三分析:
当d1=1,d2=14,d3=30,r=20,p=40%,患者2天后入院治疗,疑似患者2
天后被隔离。
有初始状态的患者人数为:
_Q〔0〕*〔『Q〔N〕—E〔0〕*r〕*2,那么患者人数随时间变化如下列图三:
由上图可得:
在当di=1,d2=14,d3=30,r=20,p=40%,患者2天后入院治
疗,疑似患者2天后被隔离的条件下。
当1时,患者的人数是急剧上升的,在到达最大值,此时患者人数为在采取医疗措施,比方患者入院治疗,隔离疑似患者等后患者人数随着时间的增长呈现下降的趋势,在250天后患者人数。
表1各个参数对应的数值
问题
最大值时间
患病人数最大值
隔离措施
强度P
患者入院刖
天数n
人均每天接触
人数r
250天后患
病人数
第二问
2
20
第三问
20
第四问
2
20
从上表可以看出,1.当隔离强度一样的时,患者入院的开始时间将在一定时
间内影响到患病人数。
明显可以看出,患者2天后入院与天后入院相比,患者的治疗时间延长了,而且患病的人数也增多。
因此相关部门应及时将病人隔离并治疗。
2.当患者入院开始时间一样时,隔离措施强度将影响到患病人数到达最大时的时间长短。
可以看出,隔离措施强度降低后,患者人数相对偏高。
因此相关部门应该加强隔离措施强度,提高警惕。
从上述两个参数取值变化分析可知,
“得病后入院时间〞与“隔离措施强度〞对于传染病疫情态势开展,具有很大的
敏感性与相关性,其中得病后的患者几时去医院治疗,对于疫情的控制具有更重要的意义。
所以,“早发现、早隔离、早治疗〞,能够帮助我们有效地、较快地控制传染病的扩散与传播。
当患者入院开始时间一样,隔离强度不一样时,患者人数随时间的变化如
六.模型分析与评估本模型中采用微分方程的模型,对传染病传播做出合理假设,并对其得过拟合,得出传染病的开展趋势,可以有效预报传染病高潮到来的时刻,对群众接受传染病的预防知识起到很好的警示作用。
但模型中的参数都具有随机性,所以得出的结果还是会有误差的存在,不能准确预报每次传染病高潮的到来的准确时间,只能限定在一定时间内。
本模型建立的传染病模型因能有效地预报传染病高潮到来的时刻,所以在现实生活中可以得到进一步的应用,特别是对现今社会中的传染病的爆发跟流行有很好的控制作用。
七、模型应用
根据以上建立的模型可以得到:
病毒传播控制的建议和措施:
根据以上建模的结果分析,我们明确了要制止传染病的蔓延主要手段有:
提高医院的医疗水平和卫生水平,加强医疗工作人员的效率,这样可以提高隔离强度,减少入院时间。
对此,政府需要积极采取措施来控制传染病的传播,及早发现被传染的人员,将其隔离,切断传染病传播的途径。
可以采取的措施有:
1.控制传染源防止传染源到处活动排出病原体传播他人,应该将他们隔离看护,直到完全康复。
2.切断传播途径
加强公共场所的管理(如公共厕所,商场,娱乐场所等);建筑物通风条件的改善;
3.保护易感人群加强易感人群的个人卫生意识,号召他们接种疫苗,防止传染病的感染,提高自身的免疫力。
八、参考文献
【1】数学建模简明教程戴朝寿孙世良编著
【2】数学建模方法及其应用解放军信息工程大学韩中庚
九、附录
模型一:
图一:
MATLAB勺.m文件
functionx=illness(t,x)
%S=x
(1)I=x
(2)Q=x(3)R=x(4)E=x(5);
a1=0.1429;
p=0.6;
d3=30;
d2=14;
d1=1;x=[-a1*x(3)*(1-p)*x
(1),a1*x(3)*(1-p)*(x
(1)+x(5)*(1-p)+x(5)*p*1/d3)-2/(d1+d2)*x
(2),2/(d1+d2)*x
(2)-1/d3*x(3),1/d3*x(3),-a1*x(3)*(1-p)*(x(5)*(1-p)+x(5)*p*1/d3)]'
J
MATLAB源代码:
s0=[900*(0.9997*20)A2,500,900,0,2000]
[t,x]=ode23s(@illness,[0,250],s0);
[y_max,i_max]=max(x(:
3))t_text=['t=',num2str(t(i_max))];
y_text=['y=',num2str(y_max)];max_text=char('maximum',t_text,y_text);%生成标志最大值点的字符串y=num2str(x(end,3))
plot(t,x(:
3));
holdon
plot(t(i_max),y_max,'r','MarkerSize',20);text(t(i_max)+0.3,y_max+0.05,max_text);
xlabel('t'),ylabel('y'),holdoff
模型二:
图二:
functionx=ill3(t,x)
%S=x
(1)I=x
(2)Q=x(3)R=x(4)E=x(5);
a1=0.1429;
p=0.6;
d3=30;
d2=14;
d1=1;
x=[-a1*x(3)*(1-p)*x
(1),a1*x(3)*(1-p)*(x
(1)+x(5)*(1-p)+x(5)*p*1/d3)-2/(d1+d2)*x
(2),2/(d1+d2)*x
(2)-1/d3*x(3),1/d3*x(3),-a1*x(3)*(1-p)*(x(5)*(1-p)+x(5)*p*1/d3)]'
J
MATLAB源程序:
s0=[900*(0.9997*20)X.5,500,900,0,2000]
[t3,x3]=ode23s(@ill3,[0,250],s0);
[y_max3,i_max3]=max(x3(:
3))t_text3=['t=',num2str(t3(i_max3))];
y_text3=['y=',num2str(y_max3)];t_end3=['t=',num2str(t3(end))];
y_end3=['y=',num2str(x3(end,3))];
max_text3=char('maximum',t_text3,y_text3);%生成标志最大值点的字符串y3=num2str(x3(end,3))
plot(t3,x3(:
3));
holdon
plot(t3(i_max3),y_max3,'r','MarkerSize',20);text(t3(i_max3)+0.3,y_max3+0.05,max_text3);
xlabel('t'),ylabel('y'),holdoff
模型三:
图三:
MATLAB^.m文件
functionx=ill4(t,x)%S=x
(1)I=x
(2)Q=x(3)R=x(4)E=x(5);
a1=0.1429;
p=0.4;
d3=30;
d2=14;
d1=1;
x=[-a1*x(3)*(1-p)*x
(1),a1*x(3)*(1-p)*(x
(1)+x(5)*(1-p)+x(5)*p*1/d3)-2/(d1+d2)*x
(2),2/(d1+d2)*x
(2)-1/d3*x(3),1/d3*x(3),-a1*x(3)*(1-p)*(x(5)*(1-p)+x(5)*p*1/d3)]'
J
MATLAB源程序:
s0=[900*(0.9997*20)A2,500,900,0,2000]
[t4,x4]=ode23s(@ill4,[0,250],s0);
[y_max4,i_max4]=max(x4(:
3))t_text4=['t=',num2str(t4(i_max4))];
y_text4=['y=',num2str(y_max4)];
max_text4=char('maximum',t_text4,y_text4);%生成标志最大值点的字符串
y4=num2str(x4(end,3))
plot(t4,x4(:
3));
holdon
plot(t4(i_max4),y_max4,'r','MarkerSize',20);
text(t4(i_max4)+0.3,y_max4+0.05,max_text4);
xlabel('t'),ylabel('y'),holdoff
图四:
s0=[900*(0.9997*20)A2,500,900,0,2000]
[t,x]=ode23s(@illness,[0,250],s0);
[t4,x4]=ode23s(@ill4,[0,250],s0);
plot(t,x(:
3),'k+',t4,x4(:
3),'g+');
图五:
s0=[900*(0.9997*20)A2,500,900,0,2000]
[t,x]=ode23s(@illness,[0,250],s0);
s3=[900*(0.9997*20)X.5,500,900,0,2000]
[t3,x3]=ode23s(@illness,[0,250],s3);
plot(t,x(:
3),'k+',t3,x3(:
3),'g+');