四种传染病模型的建模分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
对四种传染病模型的讨论与分析
模型一
(1)模型假设
1.初始时,该地区存在一定的病人x0,
2.每个病人每天都接触到一定的人数,且每次接触都会造成感染
3.病人不被约束,可在一定区域内随机移动
(2)建立模型
在这个模型中,设时刻t的人数x(t)是连续、可微函数,并且每天每个病人有效接触(足以使人致病的接触)的人数为常数λ,考察到t+△t病人人数的增加,就有
x(+△t)-x(t)=λx(t)△t
再设t=0时有xo个病人,即得微分方程
dx/dt=λx
x(0)=x0
方程(1)的解为
x(t)=x0e^λt
(3)代码求解
syms λt x0
ezplot(y,[0.100])
figure
y= x0e^λt
plot(t,y)
随着时间t的增长,病人数x(t)无线增长,与实际不符。
模型二(SI模型)
(1)模型假设
1.在传播期内所考察地区的总人数N不变,人群分为健康人和病人,时刻t这两类人在总人数
中所占比例为s(t)和i(t)
2每个病人每天有效接的平均人数是常数a,a为为日接率,当病人与健康者有效接触时,可使患病。
(2)建立模型
根据假设,每个病人每天可使as(t)个健康人变成病人,t时刻病人数为Ni(1),所以每天共有aNs(t)
i(t)个健康者被感染,即病人的增加率为:Ndi/dt=aNsi。
又因为s(t)+i(t)=1再记时刻t=0时病人的比例为i0则建立好的模型为:
di/dt=ai(1-i),i(0)=i0
(3)代码求解
syms a I t i0
i= dsolve(‘Di=a*i*(1-i)’,’i(0)=i0’,’t’);
y=subs(i,{ai0},(0.3,0.02})
ezplot(y,[0.100])
figure
i=str2double(i);
i=0:0.01:1;
y=0.3*i.*(1-i);
plot(i,y)
由上图可知,在i=0:1内,di/dt总是增大的,且在i=0.5时,取到最大值,即在t>inf时,所有人都将患病。
上述模型显然不符合实际
模型三(SIS模型)
(1)模型假设
假设条件12与模型SI 相同
3.每天核治的病人数占病人总数的比例为常数u,成为日治愈率,病人治意后成为仍可被感染的康者。
显然1/u和是平均传染期
(2)模型建立
病人的增加率;Ndi/dt=aNsi-uNi且1(t)+s(t)=1
则有:di/dt=ai(1-i)-ui
在此定义k=a/b,可知k是整个传染传染期内每个病人有效接触的平均人数,成为接触数则立好的模型为:
di/dt=-ai[i-1/k]
1(0)=i0
(2)代码求解
>>syms a u I t i0
>>dsolve(‘Di=a*i*(1-i)-u*I’,’i(0)=i0’,’t’)
>>syms k
>> k=a/u;
>>i= dsolve(‘Di=a*i*(1-i)-u*I’,’i(0)=i0’,’t’)
>>y= subs(i,{k,a,i0},{2,0.3,0.02};
>>ezplot(y,[0, 100])
>>pause
>> gtext(‘1/k’)
>>legend(‘k>1)
>>figure
>> i=str2double(i);
>>i=0:0.01:1;
>>y=-0.3*i.*[i-1/2];
>>plot(I,y)
>>gtext(‘1-1/k’)
>>legend(‘ k=2’)
>>y=subs(I,{k,a,i0},{0.8,03,0.02})
>>ezplot(y,[0.100])
>>legend(‘k<l’)
>>i=str2double(i);
>>i=0:0.01:1;
>>y=-0.3*i.*[i-(1-(1/0.8))]
>>plot(I,y)
>>legend(‘k=0.8’)
>>gext(‘k=l’)
(4)结果分析
不难看出,接触数k=1是一个阈值,当k>1时,i(t)的增减性取决于i0的大小,但其极限值i(∞)=1-1/k 随k的加而增加;当k<=1时,病人比例i(t)变小,最终趋于0,这是由于传染期内经有效解除从而使健者患者的人数不超过原来病人数的缘故。
模型四.SIR模型
(1)模型假设
1_总人数N不变,人群分为健康者、病人和病愈者三类,称SIR型。
时刻t三类人在总人数N中占得比例分别记作s(t),i(t),r(t)。
2病人的日接触率为λ日治愈率为μ,传染期接触数为σ=λ/μ
(2)模型建立
由假设1显然有
s(t)+i(t)+r(t)=1
对于病愈免疫的移出者而言应有
Ndr/dt=μNi
再记初始时刻的健康者和病人的比例分别是s0和i0,则SIR模型的方程可以写作
di/dt=λsi-μi, i(0)=t0
ds/dt=-λsi,s(0)=S0
(3)代码求解
我们无法求出解析解,先做数值计算
设λ=1,μ=0.3,i(0)=0.02,s(0)=0.98,使用matlab编程
function y=ill(t,x)
a=1,b=0.03;
y=[a*x(q)*x(2)-b*x(1),-a*x(1)*x(2)]’;
ts=0:50;
x0=[0.02,0.98];
[t,x]=ode45(‘ill’,ts,x0);[t,x]
plot(t,x(:,1),t,x(:,2)),grid,pause
plot(x(:,2),x(:,1)
(4)结果分析
i(t),s(t)的图形见左图,iーs的图形见右图,称为相轨线,随着t的增加,(s,i)沿轨线自右向左运动。
由上图结合表1可知,i(t)由初値増长至约t=7时达到最大值,然后减少,t-∞,t-0;s(t)则单调减少t→∞,S→0.0398
进行相轨线分析,可得:
s-i平面称为相平面,相轨线在相平面上的定义域(s,i)∈D为D={(s,t)|s>=0,i>=0,s+i<=1)}
在方程(3)中消去dt,并注意到σ的定义,可得
di/dt=1/ σs -1,i=i0(s=s0) (4)
容易求出它的解为
i=(s0+i0)-s+1/σ Ins/s0 (5)
在定义域D内,上式表示的曲线即为相轨线
1.不论初始条件s0,i0如何,病人终将消失,即
i∞=0 (6)
2最终未被感染的健康者的比例是s∞,在(5)式中令i=0得到,。
S∞是方程
S0+i0-S∞+1/σlns∞/s0=0 (7)
在(0,1/σ)内的根。
在图形上,s∞是相轨线与S轴在(0,1/σ)内交点的横坐标
3.若S0>1/σ,则i(t)先増加,当S=1/σ时,i(t)达到最大值
i∞=s0+i0-1/σ(1+In σs0) (8)
然后i(t)减小且趋近于0,S((t)则单调减小至s∞。
4.若s0<=1/σ,则i(t)单调减少至0,s(t)单调減少至s∞。
如果仅当病人比例i(t)一段増长的时期オ认为传病在蔓延,那么1/σ是ー个阈值,当s0>1/σ时传染病就会蔓延,而减小传染期接触数σ,即提高值1/σ,使得s0≤1/σ,传染病就不会蔓延.
并且,即使s0>1/σ,从(7),(8)式可以看出,σ减少时,S∞増加,im降低,也控制了蔓延的程度,在σ=λ/μ中,人们的卫生水平越高,λ越小,医厅水平越高,μ越大,于是σ越小,所以提高卫生水平和医疗水平有助于控制传病的蔓延。
从另一方面看, σs=λs*1/μ是传染期内一个病人传染的健康者的平均数,称为交换数,其含义是一个病人被σs个健康者交換、所以当s0<=1/σ时,必有σs<=1,既然交換数不超过1,病人比例i(t)绝不会増加,传染病不会蔓延.。