2013上学期数学论
姓 名:杨丽香、涂蓉 学 号:(02) 、(04)
学 院:湖南信息职业技术学院 专 业:计算机网络
指 导 教 师:祝文达
2013 年 06月 06日
传染病
一、摘要:
描述传染病的传播过程,分析受感染人数的变化规律,预报传染病高潮到来的时刻,预防传染病蔓延的手段,按照传播过程和一般规律,建立模型。利用了数学、力学、物理等学科中的定理来建立微分方程模型。利用已知的定理与规律寻找微元之间的关系式,与第一种方法不同的是对微元而不是直接对函数及其导数应用规律。在我们的实际问题中,许多现象的规律性并不是很清楚,如果有所了解也是极其复杂的,建模时在不同的假设中去模拟实际的现象,建立能近似反映问题的微积分方程,然后从数学上去求解或分析所建的方程及其解的性质,再去与实际情况相对比,检验此模型能否刻画模拟了某些实际现象。
二、问题重述
问题: 有一种传染病(如SARS、甲型H1N1)正在流行。现在希望建立适当的数学模型,利用已经掌握的一些数据资料对该传染病进行有效地研究,以期对其传播蔓延进行必要的控制,减少人民生命财产的损失。考虑如下的几个问题,建立适当的数学模型,并进行一定的比较分析和评价展望。
1、不考虑环境的限制,设单位时间内感染人数的增长率是常数,
建立模型求t时刻的感染人数。
2、假设环境条件下所允许的最大可感染人数为 。单位时间内感染人数的增长率是感染人数的线性函数,最大感染时的增长率为零。建立模型求t时刻的感染人数。
3、现有卫生防疫部门采集到的某地区一定时间内一定间隔区间的感染人数数据(见下表),利用该数据确定上述两个模型中的相关参数,并将它们的预测值与实际数据进行比较分析(计算仿真偏差)并对两个模型进行适当的评价。(注:该问题中,设最大可感染人数为2000人)
4、假设总人口可分为传染病患者和易感染者,易感染者因与患病者接触而得病,而患病者会因治愈而减少且对该传染病具有很强的免疫功能,建立模型分析t时刻患病者与易感染者的关系,并对传染情况(如流行趋势,是否最终消灭)进行预测。
三、模型假设
模型一:
1)、感染人数是时间的连续可微函数;
2)
、单位时间内感染人数的增长是常数,或单位时间内感染人数
的增长量与当时的感染人数成正比。
模型二:
1)、感染人数是时间的连续可微函数;
感染人数受环境条件的限制,有一个最大的可感染人数 x m。 3)、单位时间内感染人数的增长率和感染人数有关,是其线性函数,最大感染时对应增长率为零。
四、模型建立与求解
模型建立
模型一:设t时刻的感染人数为x(t),初始时刻(t=0 )的感染者人数为x0,
感染者的增长率为r,根据单位时间内感染人数的增长率是常数的假设,t到
t+∆t时间内感染人数的增量为:x(t+∆t)-x(t)=rx(t)∆t
x⎧dx
=r(x)x=r(1-)x0⎪
xm 因此,x(t)满足如下的微分方程:⎨dt
⎪x(0)=x
0⎩
MATLAB >>dsolve(‘Dx=r0*(1-x/xm)*x’,’x(0)=x0’) ans=xm/(1+exp(-r0*t)*(xm-x0)/x0)
X=[39,53,72,96,129,171,232,314,386,502,629,760,920,1065,1232] x1=dsolve('Dx=r1*x','x(0)=39') r1=log(53/39)
r1=0.3067
模型二:仍然设t时刻的感染人数为 x(t) ,初始时刻 (t=0) 的感染者人
数为0 ,感染者人数为0时,感染人数的增长率为r0 。根据单位时间内感染人
数的增长率和感染人数有关,是其线性函数的假设,可得增长率关于感染者人数的线性函数关系式:
r(x)=r0-kx
进一步,由最大感染时对应的增长率为零可确定参数k的值为:k=
r0
xm
因此,在该模型的假设下,感染人数 x(t) 应满足如下的微分方程:
x⎧dx
=r(x)x=r(1-)x0⎪dtx ⎨m⎪x(0)=x
0⎩
MATLAB >>dsolve(‘Dx=r0*(1-x/xm)*x’,’x(0)=x0’) ans=xm/(1+exp(-r0*t)*(xm-x0)/x0) 模型求解
这是一个非线性微分方程,利用微分方程中的分离变数法,求得其解为:
x(t)
=
xm
⎛xm⎫-r0t
⎪1+ -1 x⎪e
⎝0⎭
X=[39,53,72,96,129,171,232,314,386,502,629,760,920,1065,1232] ;
r1=0.3067;t=0:14;X1=39*exp(r1*t) r2=r2=-log(75933/103933); r2=-log(75933/103933); ans=0.3139;
五、模型分析及评价
模型分析
根据前述微分方程作出dx/dt~x的曲线图,见图1-1,这是一条拋物线。由该图可看出感染人数增长率随感染人数的变化规律:增长率随着感染人数的增加而先增后减,在xm/2时达到最大。这预示着传染病高潮的到来,是医疗卫生部门关注和需要密切注意的时刻。因为感染人数增长率在一定程度上代表了医疗卫生水平,增长率越小卫生水平越高。所以改善保健设施、提高卫生水平可以推迟传染病高潮的到来
r0
将问题所给出表中t=0时刻和t=1时刻的数据代入所建立的两个模型中,确定模型中的未知参数r和
,然后再利用它们得到t=2
到t=14时刻的仿真数据,进一步地可以得到两个模型的仿真误差百分比。两个模型仿真效果和性能可以从下面的表和图中清晰地看出。
实际感染人数与按两个模型计算的感染人数的比较表
X=[39,53,72,96,129,171,232,314,386,502,629,760,920,1065,1232] x1=dsolve('Dx=r1*x','x(0)=39')
r1=log(53/39)
x2=dsolve('Dx=r2*x-r2/2000*x^2','x(0)=39') r2=solve('78000/(39+1961*exp(-r2))=53') r1=0.3067;t=0:14;X1=39*exp(r1*t)
r2=-log(75933/103933); for t=0:14;
X2(1,t+1)=78000/(39+1961*exp(-r2*t)); end;
Y1=(X1-X)./X*100;Y2=(X2-X)./X*100;XX=[X;X1;X2;Y1;Y2]; Y2=abs(Y1);
感染人数
246
8时间
101214
a=1:15;
plot(a,X,'r--',a,X1,'b+-',a,X2,'g.:');
legend('原始数据','模型1的仿真数据','模型2的仿真数据','Location','NorthWest');
ylabel('感染人数'); xlabel('时间'); axis([1,15,0,3000]);
感染人数
246
8时间
101214
x22=dsolve('Dx=r22*x-r22/2500*x^2','x(0)=39') r22=solve('97500/(39+2461*exp(-r22))=53') r22=-log(95433/130433);
for t=0:14;
X22(1,t+1)=97500/(39+2461*exp(-r22*t)); end; a=1:15;
plot(a,X,'r--',a,X1,'b+-',a,X2,'g.:',a,X22,'m-.');
legend('原始数据','模型1的仿真数据','模型2的仿真数据,xm=2000','模型2的仿真数据,xm=2500','Location','NorthWest');
ylabel('感染人数'); xlabel('时间');
axis([1,15,0,3000]); 模型评价:
建立数学模型,通常是要根据所做出的假设,利用适当的数学工具,建立各量之前的等试或不等试关系,列出表格,画出图像等表达式用于描述事物的特征。
1)通过上述分析说明,第一个模型用于短期感染者估计有较好的近似效果,但不能用于传染病的长期预报;第二个模型较为符合实际情况。
2)同时说明,感染者人数的增长率并不是一个常数,而受到环境等条件的制约,是变化的、递减的。
3)在模型二中,为了简便,我们给出了较准确的最大可感染人数估计;实践中,这个参数是不易准确得到的(可通过数据拟合),错误的参数估计会极大地影响该模型的性能,这也是该模型的一个缺点之一。
4)这两个模型都是确定性的连续时间模型;为了使预报更准确,可以进一步地发展随机性模型和离散时间模型。
2013上学期数学论
姓 名:杨丽香、涂蓉 学 号:(02) 、(04)
学 院:湖南信息职业技术学院 专 业:计算机网络
指 导 教 师:祝文达
2013 年 06月 06日
传染病
一、摘要:
描述传染病的传播过程,分析受感染人数的变化规律,预报传染病高潮到来的时刻,预防传染病蔓延的手段,按照传播过程和一般规律,建立模型。利用了数学、力学、物理等学科中的定理来建立微分方程模型。利用已知的定理与规律寻找微元之间的关系式,与第一种方法不同的是对微元而不是直接对函数及其导数应用规律。在我们的实际问题中,许多现象的规律性并不是很清楚,如果有所了解也是极其复杂的,建模时在不同的假设中去模拟实际的现象,建立能近似反映问题的微积分方程,然后从数学上去求解或分析所建的方程及其解的性质,再去与实际情况相对比,检验此模型能否刻画模拟了某些实际现象。
二、问题重述
问题: 有一种传染病(如SARS、甲型H1N1)正在流行。现在希望建立适当的数学模型,利用已经掌握的一些数据资料对该传染病进行有效地研究,以期对其传播蔓延进行必要的控制,减少人民生命财产的损失。考虑如下的几个问题,建立适当的数学模型,并进行一定的比较分析和评价展望。
1、不考虑环境的限制,设单位时间内感染人数的增长率是常数,
建立模型求t时刻的感染人数。
2、假设环境条件下所允许的最大可感染人数为 。单位时间内感染人数的增长率是感染人数的线性函数,最大感染时的增长率为零。建立模型求t时刻的感染人数。
3、现有卫生防疫部门采集到的某地区一定时间内一定间隔区间的感染人数数据(见下表),利用该数据确定上述两个模型中的相关参数,并将它们的预测值与实际数据进行比较分析(计算仿真偏差)并对两个模型进行适当的评价。(注:该问题中,设最大可感染人数为2000人)
4、假设总人口可分为传染病患者和易感染者,易感染者因与患病者接触而得病,而患病者会因治愈而减少且对该传染病具有很强的免疫功能,建立模型分析t时刻患病者与易感染者的关系,并对传染情况(如流行趋势,是否最终消灭)进行预测。
三、模型假设
模型一:
1)、感染人数是时间的连续可微函数;
2)
、单位时间内感染人数的增长是常数,或单位时间内感染人数
的增长量与当时的感染人数成正比。
模型二:
1)、感染人数是时间的连续可微函数;
感染人数受环境条件的限制,有一个最大的可感染人数 x m。 3)、单位时间内感染人数的增长率和感染人数有关,是其线性函数,最大感染时对应增长率为零。
四、模型建立与求解
模型建立
模型一:设t时刻的感染人数为x(t),初始时刻(t=0 )的感染者人数为x0,
感染者的增长率为r,根据单位时间内感染人数的增长率是常数的假设,t到
t+∆t时间内感染人数的增量为:x(t+∆t)-x(t)=rx(t)∆t
x⎧dx
=r(x)x=r(1-)x0⎪
xm 因此,x(t)满足如下的微分方程:⎨dt
⎪x(0)=x
0⎩
MATLAB >>dsolve(‘Dx=r0*(1-x/xm)*x’,’x(0)=x0’) ans=xm/(1+exp(-r0*t)*(xm-x0)/x0)
X=[39,53,72,96,129,171,232,314,386,502,629,760,920,1065,1232] x1=dsolve('Dx=r1*x','x(0)=39') r1=log(53/39)
r1=0.3067
模型二:仍然设t时刻的感染人数为 x(t) ,初始时刻 (t=0) 的感染者人
数为0 ,感染者人数为0时,感染人数的增长率为r0 。根据单位时间内感染人
数的增长率和感染人数有关,是其线性函数的假设,可得增长率关于感染者人数的线性函数关系式:
r(x)=r0-kx
进一步,由最大感染时对应的增长率为零可确定参数k的值为:k=
r0
xm
因此,在该模型的假设下,感染人数 x(t) 应满足如下的微分方程:
x⎧dx
=r(x)x=r(1-)x0⎪dtx ⎨m⎪x(0)=x
0⎩
MATLAB >>dsolve(‘Dx=r0*(1-x/xm)*x’,’x(0)=x0’) ans=xm/(1+exp(-r0*t)*(xm-x0)/x0) 模型求解
这是一个非线性微分方程,利用微分方程中的分离变数法,求得其解为:
x(t)
=
xm
⎛xm⎫-r0t
⎪1+ -1 x⎪e
⎝0⎭
X=[39,53,72,96,129,171,232,314,386,502,629,760,920,1065,1232] ;
r1=0.3067;t=0:14;X1=39*exp(r1*t) r2=r2=-log(75933/103933); r2=-log(75933/103933); ans=0.3139;
五、模型分析及评价
模型分析
根据前述微分方程作出dx/dt~x的曲线图,见图1-1,这是一条拋物线。由该图可看出感染人数增长率随感染人数的变化规律:增长率随着感染人数的增加而先增后减,在xm/2时达到最大。这预示着传染病高潮的到来,是医疗卫生部门关注和需要密切注意的时刻。因为感染人数增长率在一定程度上代表了医疗卫生水平,增长率越小卫生水平越高。所以改善保健设施、提高卫生水平可以推迟传染病高潮的到来
r0
将问题所给出表中t=0时刻和t=1时刻的数据代入所建立的两个模型中,确定模型中的未知参数r和
,然后再利用它们得到t=2
到t=14时刻的仿真数据,进一步地可以得到两个模型的仿真误差百分比。两个模型仿真效果和性能可以从下面的表和图中清晰地看出。
实际感染人数与按两个模型计算的感染人数的比较表
X=[39,53,72,96,129,171,232,314,386,502,629,760,920,1065,1232] x1=dsolve('Dx=r1*x','x(0)=39')
r1=log(53/39)
x2=dsolve('Dx=r2*x-r2/2000*x^2','x(0)=39') r2=solve('78000/(39+1961*exp(-r2))=53') r1=0.3067;t=0:14;X1=39*exp(r1*t)
r2=-log(75933/103933); for t=0:14;
X2(1,t+1)=78000/(39+1961*exp(-r2*t)); end;
Y1=(X1-X)./X*100;Y2=(X2-X)./X*100;XX=[X;X1;X2;Y1;Y2]; Y2=abs(Y1);
感染人数
246
8时间
101214
a=1:15;
plot(a,X,'r--',a,X1,'b+-',a,X2,'g.:');
legend('原始数据','模型1的仿真数据','模型2的仿真数据','Location','NorthWest');
ylabel('感染人数'); xlabel('时间'); axis([1,15,0,3000]);
感染人数
246
8时间
101214
x22=dsolve('Dx=r22*x-r22/2500*x^2','x(0)=39') r22=solve('97500/(39+2461*exp(-r22))=53') r22=-log(95433/130433);
for t=0:14;
X22(1,t+1)=97500/(39+2461*exp(-r22*t)); end; a=1:15;
plot(a,X,'r--',a,X1,'b+-',a,X2,'g.:',a,X22,'m-.');
legend('原始数据','模型1的仿真数据','模型2的仿真数据,xm=2000','模型2的仿真数据,xm=2500','Location','NorthWest');
ylabel('感染人数'); xlabel('时间');
axis([1,15,0,3000]); 模型评价:
建立数学模型,通常是要根据所做出的假设,利用适当的数学工具,建立各量之前的等试或不等试关系,列出表格,画出图像等表达式用于描述事物的特征。
1)通过上述分析说明,第一个模型用于短期感染者估计有较好的近似效果,但不能用于传染病的长期预报;第二个模型较为符合实际情况。
2)同时说明,感染者人数的增长率并不是一个常数,而受到环境等条件的制约,是变化的、递减的。
3)在模型二中,为了简便,我们给出了较准确的最大可感染人数估计;实践中,这个参数是不易准确得到的(可通过数据拟合),错误的参数估计会极大地影响该模型的性能,这也是该模型的一个缺点之一。
4)这两个模型都是确定性的连续时间模型;为了使预报更准确,可以进一步地发展随机性模型和离散时间模型。