资源描述
微分方程建模(传染病模型)得求解.
1、模型1:SI模型。
假设:
(1)时刻人群分为易感者(占总人数比例得)与已感染者(占总人数比例得)
(2)每个病人每天有效接触得平均人数就是常数,称为日接触率,当健康者与病人接触时,健康者受感染成为病人。
分析:根据假设,每个患者每天可以使个健康者变为病人,因为病人数为,所以每天共有个健康者变为病人.即:
,且,设初始时刻病人比例为,则:
,用MATLAB解此微分方程:
>〉 syms a b
>> f=dsolve(’Dy=a*y*(1-y)','y(0)=b','t')
f =
1/(1—exp(—a*t)*(—1+b)/b) %
当时,分别在坐标系中作出得图像,坐标系中作出得图像,
>〉 a=0、1;
〉> b=0、09;
>〉 h=dsolve(’Dy=a*y*(1-y)’,'y(0)=b','t’)
h =
1/(1-exp(—a*t)*(-1+b)/b)
〉〉 f=subs(h)
f =
1/(1+91/9*exp(-1/10*t))ﻩ得图像
>> ezplot(f,[0,60])
>> grid on
>〉 figure (2)
〉> fplot(’0、1*y*(1-y)',[0,1])
>> grid on
得图像
模型分析:(1)当时,达到最大值,则此时病人增速最快。
(2)当时,,即所有得人被传染,全部变为病人,这显然就是不符合实际得,其原因就是没有考虑到病人可以治愈,人群中得健康者只能变为病人,而病人不会变为健康者。
2、模型2:SIS模型.
假设:
(1)时刻人群分为易感者(占总人数比例得)与已感染者(占总人数比例得)
(2)每个病人每天有效接触得平均人数就是常数,称为日接触率,当健康者与病人接触时,健康者受感染成为病人。
(3)病人每天被治愈得占病人总数得比例为,称为日治愈率,显然为这种传染病得平均传染期.则。则建立微分方程模型为:
用MATLAB解此微分方程:
〉> h2=dsolve('Dy=a*y*(1-y)-c*y','y(0)=b','t')
h2 =
(a—c)/(a—exp(—(a-c)*t)*(-a+c+b*a)/b/(a-c)*a+exp(—(a-c)*t)*(-a+c+b*a)/b/(a—c)*c)
〉> pretty(h2)
/ exp(—(a - c) t) (-a + c + b a) a
(a — c)/|a — -—--———-———-------——-----—-———--
\ b (a — c)
exp(-(a - c) t) (-a + c + b a) c\
+ ---—---------——--—----——--—----—|
b (a - c) /
化简:
即:。
当(1)时,;
(2)时,
>> clear
>〉 h2=dsolve('Dy=a*y*(1-y)-a*y','y(0)=b','t’)
h2 =
1/(a*t+1/b)
即:.
定义:一个传染期内每个病人有效接触得平均人数。
则:,用MATLAB作图像:
令,,()
〉> clear
>> a=0、01;b=0、7;c=0、05;
>〉 h2=dsolve(’Dy=a*y*(1—y)-c*y’,'y(0)=b',’t’);
>〉 h22=subs(h2)
h22 =
-1/25/(1/100—47/700*exp(1/25*t))
>> ezplot(h22,[0,120])
〉> grid on
ﻩ得图像
令,,分别作图()
>> a=0、3;b=0、7;c=0、15;
>> h2=dsolve('Dy=a*y*(1-y)-c*y',’y(0)=b',’t');
>〉 h23=subs(h2)
h23 =
3/20/(3/10-3/35*exp(—3/20*t))
〉〉 subplot(2,1,1)
〉> ezplot(h23,[0,25])
>> grid on
>> b=0、3;
〉> h24=subs(h2);
>> subplot(2,1,2)
>〉 ezplot(h24,[0,25])
grid on
得图像(上面,下面)
模型分析:(1)时,病人比例越来越少,最终趋于零,这就是因为传染期内经有效接触从而使健康者变为病人数不超过原来病人数得缘故。
(2)时,病人比例增减性就是由来决定,其极限值随着得增加而增加。
3、模型3:SIR模型.
假设:(1)人群分为健康者,其比例、病人、病愈免疫得移出者。
(2)病人得日接触率为,日治愈率为,传染期接触数为。
则,
对于病愈者而言,,
设初始时刻得健康者与病人得比例为与,则建立微分方程模型为:
由于此微分方程组得解析解无法求出,则转为相平面上讨论解得性质。
相轨线得定义域应为:
,由方程组消去并将得:
用matlb求解:
〉> dsolve(’Dy=1/cma/s-1',’y(s0)=y0’,’s')
ans =
1/cma*log(s)-s-1/cma*log(s0)+s0+y0
〉〉 pretty(ans)
log(s) log(s0)
-—-——— - s - -—-—-—- + s0 + y0
cma cma
即(相轨线)
定义域内,时,分别取,,,在同一直角坐标系中作出其图像:
>〉 cma=1;y0=0、3;s0=0、65;
>> clear
>> f=dsolve('Dy=1/cma/s—1’,’y(s0)=y0',’s');
>〉 cma=1;y0=0、3;s0=0、65;
>〉 f1=subs(f);
>> ezplot(f1,[0,1])
〉〉 hold on
〉〉 y0=0、4;s0=0、35;
〉> f2=subs(f);
>〉 ezplot(f2,[0,1])
>> hold on
>> y0=0、5;s0=0、45;
>> f3=subs(f);
>〉 ezplot(f3,[0,1])
>> hold onﻩSIR模型得相轨线
〉> y0=0、7;s0=0、25;
>> f4=subs(f);
〉> ezplot(f4,[0,1])
〉> hold on
>〉 ezplot('1—s',[0,1])
>〉 grid on
模型分析:(1)不论初始条件,如何,病人比例越来越少,最终消失。
(2)最终未被感染得健康者得比例就是,在中。令时,得单根即为:最终未被感染得健康者得比例。在图像上:相轨线与轴在内交点得横坐标.
(3)当时传染病不会蔓延,(如最左边得曲线,随着得增加,病人数在减小)。所以提高医疗卫生水平(使日接触率减小或者使日治愈率增大),从而使变大,也可降低(设,则),则,,即使免疫者比例增大。这其实就是比较困难得。如,。
展开阅读全文