资源描述:
《具有时滞的传染病动力学模型》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、具有时滞的传染病动力学模型专业:信息与计算科学班级:信息121信息122摘要:locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcame13:具有时滞的传染病模型能较好反映传染病的潜伏期、免疫期等问题,对其研
2、究越来越受到重视。利用计算机模拟方法对具有时滞的传染病动力学模型进行了分析,阐述了数值仿真的基本原则。采用时滞微分方程的数值解法对模型进行了定性分析,给出了数值仿真的应用实例。结果表明该方法是有效的,并具有潜在的应用价值。关键词:传染病模型;时滞微分方程;数值仿真一、问题背景近年来随着环境污染、生态破坏和频繁的国际交流,国内外重人传染病爆发时有发生,如SARS,禽流感和艾滋病等,这使得对传染病的研究越来越重要。在对传染病的诸多研究中,利用数学模型对传染病进行定性研究是个重要课题。由于具有时滞的传染病模型能更好与实际情况相符,所以近年来对其研究受
3、到了人们的广泛重视。随着计算机的发展,在研究方法上,除了传统的理论分析外,计算机模拟也是研究的重要手段,一此重大发现就是通过数值仿真得到的。虽然如此,但迄今为止利用计算机仿真方法研究时滞传染病模型的工作还很少。我们试图在此方面对此尝试,将时滞微分方程数值算法应用于传染病模型研究,取得了较好的结果,总结出了数值仿真的基本原则,说明该方法其有潜在的应用价值。二、模型建立“时滞”在传染病中是个基本的因素,并在传染病的传播过程中起着重要作用,它可以反映传染病的潜伏期,患者对疾病的感染期和恢复者对玖病的免疫期等实际现象,因此使用时滞”模型更贴近实际。如B
4、usenberg和Cooke将时滞因素引入到由媒介传播疾病的SEIS模型中用时滞项来反映传染病的潜伏期,建立了如图1所小的仓室框图。locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejiang,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcame13此模型中,把传
5、染病地区的人群分为三类:用S(t),E(t),I(t}分别表示易感者、在潜伏期的感染者和染病者。箭头所指方向可以清楚的显小出各类人群流动的情况,T>0是模型的时滞项,代表疾病在人群中的潜伏期,r>0表小感染者被治愈后返回到易感人群中的速率,是易感者和传病媒介间的有效接触系数。由仓库框图容易得到对应数学表达的动力学模型:(1)上述传染病动力学模型实质上是个具有时滞的微分方程组,对该模型进行数值仿真,就是对方程组(1)求解,通过研究该方程组解的变化,从而得到如传染病的发展趋势等相关内容。三、模型分析通过对实际模型的多次数值仿真实验,得到了数值仿真的
6、基本原则1、运算精度优先:由于一般传染病模型对应的方程组维数不高,对非刚性的时滞传染病模型应使用至少四阶精度的数值方法如果采用精度不高的数值方法,会造成较大的误差,从而对理论分析造成很大的偏差。下面我们从实际的程序数值运行和图示方法加以比较。2、模型分析程序:一阶Euler方法#include#defineN10floatf(floata,floatb)locatedintheTomb,DongShenJiabang,deferthenextdayfocusedontheassassination.Linping,Zhejia
7、ng,1ofwhichliquorwinemasters(WuzhensaidinformationisCarpenter),whogotAfewbayonets,duetomissedfatal,whennightcame13{floatc;c=b-2*a/b;returnc;}main(){inti;floath=0.2;floatX[N]={0.0};floatY[N]={1.0};for(i=1;i<=5;i++){X[i]=X[i-1]+h;Y[i]=Y[i-1]+h*f(X[i-1],Y[i-1]);}for(i=0;i<6;i++
8、)printf("%f",Y[i]);}四阶R–K方法#include#defineN10#defineM30floatf(fl