精品文档精品文档数学模型实验—实验报告10学院:专业:姓名:学号:_______实验时间:______实验地点:一、实验项目:传染病模型求解二、实验目的和要求a.求解微分方程的解析解b.求解微分方程的数值解三、实验内容问题的描述各种传染病给人类带来的巨大的灾难,长期以来,建立传染病的数学模型来描述传染病的的传播过程,分析受感染人数的变化规律,探索制止传染病蔓延的手段等,一直是各国有关专家和官员关注的课题。不同类型传染病有各自不同的特点,在此以一般的传播机理建立几种3模型。分别对3种建立成功的模型进行模型分析,便可以了解到该传染病在人类间传播的大概情况。模型一(SI模型):(1)模型假设1.在疾病传播期内所考察地区的总人数N不变,人群分为健康人和病人,时刻t这两类人在总人数中所占比例为s(t)和i(t)。2.每个病人每天有效接触的平均人数是常数a,a成为日接触率,当病人与健康者有效接触时,可使其患病。(2)建立模型根据假设,每个病人每天可使as(t)个健康人变成病人,t时刻病人数为Ni(t),所以每天共有aNs(t)i(t)个健康者被感染,即病人的增加率为:Ndi/dt=aNsi又因为s(t)+i(t)=1再记时刻t=0时病人的比例为i0则建立好的模型为:)1(iaidtdii(0)=i0(3)模型求解(代码、计算结果或输出结果)symsaiti0%a:日接触率,i:病人比例,s:健康人比例,i0:病人比例在t=0时的值i=dsolve('Di=a*i*(1-i)','i(0)=i0','t');y=subs(i,{a,i0},{0.3,0.02});ezplot(y,[0,100])figure精品文档精品文档i=str2double(i);i=0:0.01:1;y=0.3*i.*(1-i);plot(i,y)SI模型的i~t曲线SI模型的di/dt~i曲线(4)结果分析由上图可知,在i=0:1内,di/dt总是增大的,且在i=0.5时,取到最大值,即在t-inf时,所有人都将患病。上述模型显然不符合实际,为修正上述结果,我们重新考虑模型假设,建立SIS模型模型二(SIS模型)(1)模型假设假设条件1.2与SI模型相同;3.每天被治愈的病人数占病人总数的比例为常数u,成为日治愈率,病人治愈后成为仍可被感染的健康者。显然1/u是平均传染期。(2)模型建立病人的增加率:Ndi/dt=aNsi-uNi且i(t)+s(t)=1;则有:di/dt=ai(1-i)-ui在此定义k=a/b,可知k是整个传染传染期内每个病人有效接触的平均人数,成为接触数。则建立好的模型为:)]/11([kiaidtdii(0)=i0;(2)模型求解(代码、计算结果或输出结果)symsaiuti0%a:日接触率,i:病人比例,u:日治愈率,i0:病人比例在t=0时的值dsolve('Di=a*i*(1-i)-u*i','i(0)=i0','t')%求用u表示的i—t解析式symsk%k:接触数k=a/u;i=dsolve('Di=-a*i*i+a*i*(1-1/k)','i(0)=i0','t')%求用k表示的i—t解析式%给k、a、i0指定特殊值,作出相关图像精品文档精品文档y=subs(i,{k,a,i0},{2,0.3,0.02});%①k1的情况,以k=2为例ezplot(y,[0,100])pause%作i—t图,分析随时间t的增加,i的变化gtext('1/k')legend('k1本例中k=2')figurei=str2double(i);i=0:0.01:1;y=-0.3*i.*[i-1/2];plot(i,y)%作di/dt—i的图像gtext('1-1/k,在此图中为0.5')legend('k=2')y=subs(i,{k,a,i0},{0.8,0.3,0.02});%②k1的情况,以k=0.8为例ezplot(y,[0,100])%作i—t图,分析随时间t增加,i的变化legend('k1本例中k=0.8')figurei=str2double(i);i=0:0.01:1;y=-0.3*i.*[i-(1-1/0.8)];plot(i,y)%作di/dt—i的图像legend('k=0.8')gtext('k=1时的情况)SIS模型的di/dt—i曲线(k1)SIS模型的i—t曲线(k1)精品文档精品文档SIS模型的di/dt—i曲线(k1)SIS模型的i—t曲线(k1)(4)结果分析不难看出,接触数k=1是一个阈值,当k1时,i(t)的增减性取决于i0的大小,但其极限值i(∞)=1-1/k随k的增加而增加;当k=1时,病人比例i(t)越来越小,最终趋于0,这是由于传染期内经有效解除从而使健康者变为的病人数不超过原来病人数的缘故。模型三.SIR模型(1)模型假设1.总人数N不变,人群分为健康者、病人和病愈免疫的移出者三类,称SIR模型。时刻t三类人在总人数N中占得比例分别记作)(),(tits和)(tr。2.病人的日接触率为,日治愈率为(与SI模型相同),传染期接触数为/。(2)模型建立由假设1显然有1)()()(trtits(1)对于病愈免疫的移出者而言应有NidtdrN(2)再记初始时刻的健康者和病人的比例分别是s0(s00)和i0(i00)(不妨设移出者的初始值r0=0),则SIR模型的方程可以写作00)0(,)0(,sssidtdstiisidtdi(3)(3)模型求解我们无法求出解析解,先做数值计算:设98.0)0(,02.0)0(,3.0,1si,用MATLAB软件编程:精品文档精品文档functiony=ill(t,x)a=1;b=0.3;y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]';ts=0:50;x0=[0.02,0.98];[t,x]=ode45('i11',ts,x0);[t,x]plot(t,x(:,1),t,x(:,2)),grid,pauseplot(x(:,2),x(:,1))表1)(),(tsti的数值计算结果t012345678i(t)0.02000.03900.07320.12850.20330.27950.33120.34440.3247s(t)0.98000.95250.90190.81690.60270.54380.39950.28390.2027t91015202530354045i(t)0.28630.24180.07870.02230.00610.00170.00050.00010s(t)0.14930.11450.05430.04340.04080.04010.03990.03990.0398)(),(tsti的图形i—s图形(相轨线)(4)结果分析)(),(tsti的图形见左图,si~的图形见右图,称为相轨线,随着t的增加,),(is沿轨线自右向左运动。由上图结合表1可知,)(ti由初值增长至约7t时达到最大值,然后减少,)(;0,tstt则单调精品文档精品文档减少0398.0,st。进行相轨线分析,可得:is~平面称为相平面,相轨线在相平面上的定义域Dis),(为}1,0,0|),{(isistsD在方程(3)中消去dt,并注意到的定义,可得11sdtdi,00|iiss(4)容易求出它的解为000ln1)(sssisi(5)在定义域D内,上式表示的曲线即为相轨线1.不论初始条件00,is如何,病人终将消失,即0i(6)其证明如下,首先,由(3),0dtds而0)(ts故s存在;由(2),0dtdr,而1)(tr,故r存在,再由(1),对于充分大的t有2dtdr,这将导致,与r存在相矛盾。2.最终未被感染的健康者的比例是s,在(5)式中令0i得到,s是方程0ln1000sssis(7)在)/1,0(内的根。在图形上,s是相轨线与s轴在)/1,0(内交点的横坐标。3.若/10s,则)(ti先增加,当/1s时,)(ti达到最大值)ln1(1000sisi(8)然后)(ti减小且趋近于0,)(ts则单调减小至s。4.若/10s,则)(ti单调减少至0,)(ts单调减少至s。如果仅当病人比例)(ti有一段增长的时期才认为传染病在蔓延,那么/1是一个阈值,当/10s(即0/1s)时传染病就会蔓延。而减小传精品文档精品文档染期接触数,即提高阈值/1,使得/10s(即0/1s),传染病就不会蔓延(健康者比例的初始值0s是一定的,通常可认为0s接近1)。并且,即使/10s,从(7),(8)式可以看出,减少时,s增加(通过作图分析),mi降低,也控制了蔓延的程度,我们注意到,在/中,人们的卫生水平越高,日接触率越小;医疗水平越高,日治愈率越大,于是越小,所以提高卫生水平和医疗水平有助于控制传染病的蔓延。从另一方面看,/1ss是传染期内一个病人传染的健康者的平均数,称为交换数,其含义是一个病人被s个健康者交换,所以当,/10s即10s时,必有1s,既然交换数不超过1,病人比例)(ti绝不会增加,传染病不会蔓延。建模所得:1.符号变量如何使用2.如何求微分方程的解析解和数值解3.对符号变量方程作图时,先将其中的符号变量赋值,再将其变成数值变量,这也是一种有效的解决方法。