1、第 1 页 / 共 7 页数学模型实验实验报告 10学院: 专 业: 姓 名: 学号:_ _ 实验时间:_ _ 实验地点: 一、实验项目:传染病模型求解二、实验目的和要求a.求解微分方程的解析解b.求解微分方程的数值解三、实验内容问题的描述各种传染病给人类带来的巨大的灾难,长期以来,建立传染病的数学模型来描述传染病的的传播过程,分析受感染人数的变化规律,探索制止传染病蔓延的手段等,一直是各国有关专家和官员关注的课题。不同类型传染病有各自不同的特点,在此以一般的传播机理建立几种 3 模型。分别对 3 种建立成功的模型进行模型分析,便可以了解到该传染病在人类间传播的大概情况。模型一(SI 模型):
2、(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(iadtii(0)=i0(3)模型求解 (代码、计算结果或输
3、出结果)syms a i t i0 % 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)第 2 页 / 共 7 页figurei=str2double(i);i=0:0.01:1;y=0.3*i.*(1-i);plot(i,y)SI 模型的 it 曲线 SI 模型的 di/dti 曲线(4)结果分析由上图可知,在 i=0:1 内,di/dt 总是增大的,且在 i=0.5 时,取到最大值,即在 t-inf 时,所有人都将
4、患病。上述模型显然不符合实际,为修正上述结果,我们重新考虑模型假设,建立 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 是整个传染传染期内每个病人有效接触的平均人数,成为接触数。则建立好的模型为: )/1(iadtii(0)=i0;(2) 模型求解 (代码、计算结果或
5、输出结果) syms a i u t i0 % a:日接触率,i :病人比例,u:日治愈率,i0:病人比例在 t=0 时的值 dsolve(Di=a*i*(1-i)-u*i,i(0)=i0,t) % 求用 u 表示的 it 解析式 syms k % k:接触数 k=a/u; i=dsolve(Di=-a*i*i+a*i*(1-1/k),i(0)=i0,t) % 求用 k 表示的 it 解析式第 3 页 / 共 7 页% 给 k、a、i0 指定特殊值,作出相关图像 y=subs(i,k,a,i0,2,0.3,0.02); %k1 的情况 ,以 k=2 为例 ezplot(y,0,100) pau
6、se %作 it 图,分析随时间 t 的增加, i 的变化 gtext(1/k) legend(k1 本例中 k=2)figure i=str2double(i); i=0:0.01:1; y=-0.3*i.*i-1/2; plot(i,y) %作 di/dti 的图像 gtext(1-1/k,在此图中为 0.5) legend(k=2) y=subs(i,k,a,i0,0.8,0.3,0.02); %k ezplot(y,0,100) %作 it 图,分析随时间 t 增加,i 的变化 legend(kfigure i=str2double(i); i=0:0.01:1; y=-0.3*i.*
7、i-(1-1/0.8); plot(i,y) %作 di/dti 的图像 legend(k=0.8) gtext(k1) SIS 模型的 it 曲线(k1)第 4 页 / 共 7 页SIS 模型的 di/dti 曲线 (k1 时,i(t )的增减性取决于 i0 的大小,但其极限值i()=1-1/k 随 k 的增加而增加;当 k0)和 i0(i00)(不妨设移出者的初始值 r0=0) ,则SIR 模型的方程可以写作(3)0)(,sidtsti(3)模型求解我们无法求出解析解,先做数值计算:设 ,用 MATLAB 软件编程:98.0)(,2.)0(,3.,1si第 5 页 / 共 7 页funct
8、ion y=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,xplot(t,x(:,1),t,x(:,2),grid,pauseplot(x(:,2),x(:,1)表 1 的数值计算结果)(,tsit 0 1 2 3 4 5 6 7 8i(t) 0.0200 0.0390 0.0732 0.1285 0.2033 0.2795 0.3312 0.3444 0.3247s(t) 0.9800 0.9525 0.9019 0.8169 0.6027 0.
9、5438 0.3995 0.2839 0.2027t 9 10 15 20 25 30 35 40 45i(t) 0.2863 0.2418 0.0787 0.0223 0.0061 0.0017 0.0005 0.0001 0s(t) 0.1493 0.1145 0.0543 0.0434 0.0408 0.0401 0.0399 0.0399 0.0398的图形 is 图形(相轨线))(,tsi(4)结果分析的图形见左图, 的图形见右图,称为相轨线,随着 的增加, 沿轨线自右向左运)(,tsi sit),(is动。由上图结合表 1 可知, 由初值增长至约 时达到最大值,然后减少, 则)(t
10、t )(;0tst单调减少 。0398.,st第 6 页 / 共 7 页进行相轨线分析,可得:平面称为相平面,相轨线在相平面上的定义域 为is Dis),(1,0|),(isistD在方程(3)中消去 ,并注意到 的定义,可得dt, (4) 1sdti0|is容易求出它的解为(5) 00ln)(sisi在定义域 D 内,上式表示的曲线即为相轨线1.不论初始条件 如何,病人终将消失,即0,i(6)0i其证明如下,首先,由(3) , 而 故 存在;由(2) , ,而 ,故 存在,0dts)(ts0dtr1)(tr再由(1) ,对于充分大的 有 ,这将导致,与 存在相矛盾。t2rr2.最终未被感染的
11、健康者的比例是 ,在(5)式中令 得到, 是方程s0is(7)0ln10sis在 内的根。在图形上, 是相轨线与 轴在 内交点的横坐标。)/,( ss)/1,0(3.若 ,则 先增加,当 时, 达到最大值10s)(ti/1)ti(8)ln00sii然后 减小且趋近于 0, 则单调减小至 。)(ti )(ts4.若 ,则 单调减少至 0, 单调减少至 。如果仅当病人比例 有一段增长的时期/10sti)(t )(ti才认为传染病在蔓延,那么 是一个阈值,当 (即 )时传染病就会蔓延。而减/1/10s0/1s小传染期接触数 ,即提高阈值 ,使得 (即 ) ,传染病就不会蔓延(健康者比第 7 页 /
12、共 7 页例的初始值 是一定的,通常可认为 接近 1) 。0s0s并且,即使 ,从(7) , (8)式可以看出, 减少时, 增加(通过作图分析) , 降低,也/1smi控制了蔓延的程度,我们注意到,在 中,人们的卫生水平越高,日接触率 越小;医疗水平/越高,日治愈率 越大,于是 越小,所以提高卫生水平和医疗水平有助于控制传染病的蔓延。从另一方面看, 是传染期内一个病人传染的健康者的平均数,称为交换数,其含义是一/1s个病人被 个健康者交换,所以当 即 时,必有 ,既然交换数不超过 1,病人s ,/10s0s1s比例 绝不会增加,传染病不会蔓延。)(ti建模所得:1. 符号变量如何使用2. 如何求微分方程的解析解和数值解3. 对符号变量方程作图时,先将其中的符号变量赋值,再将其变成数值变量,这也是一种有效的解决方法。