当前位置:首页 > 建模题 微分方程模型 小组1
数 学 建 模
微分方程模型
组 别 第1组
学生一 电力131 刘乐
学生二 新能131 怡广志 学生三 新能131 加乐乐 时 间 2015年5月11日
作 业 一:
传染病的微分方程模型
一﹑问题摘要
关键词:
二﹑问题重述
一艘游船载有1000人,一名游客患了某种传染病,10小时后有2人被传染发病。由于这种传染病没有早期症状,故传染者不能被及时隔离。假设直升飞机将在50至60小时将疫苗运到,试估算疫苗运到时患此传染病的人数。
三﹑问题分析
假设y(t)为发现第一个传染病人后t小时时刻的传染人数,则y(t)对时间t的导数dy/dt可以描述该传染病的传染速率。常识表明,传染病的传染速率既受到传染人数的影响,又受未被传染人数的影响。在一般情况下,传染人数越多,传染速度越快(因为有很多的传染源);未被传染人数越多,传染速度越快(因为会有很多的人传染)。 因此其影响关系都为正比关系。
本题中在t时刻未被传染的人数为1000- y(t),于是可以用微分方程描述传染速率:
dy/dt=ky(1000-y),y(0)=1,y(10)=2,(k为比例常数)
四﹑符号和变量说明
t:发生传染后的的时间
y(t):发现第一个传染病人后t小时时刻的传染人数 dy/dt:传染病的传染速率
五﹑模型建立
在MATLAB中,建立微分方程Dy/dt=ky(1000-y) ,k为比例常数,根据初值y(0)=1,y(10)=2 ,求解此微分方程后,代入t=50,和t=60,
即为50,60小时后感染人数
六﹑模型求解 MATLAB程序:
clear;
s=dsolve('Dy=k*y*(1000-y)','y(0)=1','y(10)=2'); y=simplify(s)
结果为:
y=piecewise([k == log(999)/10000 - log(499)/10000, {(1000*999^(t/10))/(999*499^(t/10) + 999^(t/10))}], [k = log(999)/10000 - log(499)/1000
0, )
其中k=0.0694149/1000 y(t)=1000/(1+999*e^(-0.0694149*t)) 代入y(50)=32,y(60)=61.
输出图形如下:
七﹑结果分析
因此,在t=50小时患此传染病的人数约为32人,在t=60小时患此传染病的人数约为61人。从这些数字可以看到,从50小时到60小时这10小时之间,被传染发病的人数几乎翻了一倍,因此在传染病流行期间应该及时采取措施是很重要的。如果不采取措施,通过y(t)的图形可以看到,当t在50~150小时之间传染最快,且当t趋于无
穷大时,y(t)趋于1000人,即导致全游艇任素华都被传染
八﹑模型的评价与推广
作业二:
假定某公司的净资产因资产本身产生了利息而以4%的年利率增长,同时,该公司以每年100万的数额支付职工工资。净资产的微分方程为
dw=0.04w-100 (t以年为单位) dt分别以初始值w(0)=1500万元,2500万元,3500万元,用Euler法公式预测公司24年后的净资产趋势(取h=1),并画出三条净资产趋势曲线。 解:
共分享92篇相关文档