实验2:传染病问题
一、实验目的
1.巩固微分方程建模的基本思想
2.练习微分方程建模的过程
3.练习应用数学软件Mathematic 或Matlab编程求解微分方程建模。
二、实验问题
一艘远洋游艇上机组与乘客共1000人,其中一名乘客发现患了某种传染病并发病,10小时后有2人被传染发病。
由于该传染病没有早期症状,传染者不能被及时隔离。
假设直升飞机将在50至60小时内将疫苗送到,试建模估算疫苗送到时游艇上患此传染病的人数。
三、预备知识:动态规划逆序算法的MATLAB程序DynProg.m 简介
1.医学常识表明:传染病的传播速率即与患病人数有关,也与未患病人数有关,患病人数越多(传染源越多)传播速率越快,未患病人数越多(因为会有很多人被传染)传播速率也越快,二者对传播速率的影响均为正比例关系。
2.Mathematic求解常微分方程的语句为
DSolve[eqn, y[x], x] gives solutions for y[x] rather than for the function y itself. Example: DSolve[y'[x] == 2 a x, y[x], x]y x a x2C1. If you include an appropriate initial condition, there are no undetermined coefficients in the solution.
DSolve[ {y'[x] == a y[x] + 1, y[0] == 0}, y[x], x ]
3.Matlab求解微分方程的基本命令
dsolve('eq1','eq2',...,'cond1','cond2',...,'v')
'eq1,eq2,...;--- 要求解的方程(组)
'cond1,cond2,...'---要求解的方程(组)的边界或初始条件
'v' -- 指定自变量的符号,缺省为t
四、实验步骤、内容与要求
1、假设与变量引入
(1)t时刻被传染人数为y(t),则健康者人数为1000-y(t);
(2)传染病的传播速率即与患病人数有关,也与未患病人数有关,二者对传播速率的影响均为正比例关系,比例系数为k .
(3)没有治疗和病人治愈。
2、分析与建立模型
根据假设条件(1)、(2)(3),
(1000)
(0)1
(10)2
dy
ky
y dt
y
y
=-
=
=
3、编程求解
用Mathmatica软件解为:
当疫苗送达时,大约有31至61人被传染。
4、模型评价与扩展
a)当t时,y->1000,即所有的人终将被传染,全变为病人,这显然不符合实际
情况,其原因是模型没有考虑病人可以治愈,人群中的健康者只能变为病人,
而病人不会变为健康者.
b)许多传染病治愈后,病人体内会产生抗体而具有免疫能力,应考虑治愈免疫移
出的情形。