传染病模型(微分方程)

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

t

微分方程建模(传染病模型)的求解。

1、模型1:SI 模型。 假设:

(1)t 时刻人群分为易感者(占总人数比例的()s t )和已感染者(占总人数比例的()y t ) (2)每个病人每天有效接触的平均人数是常数λ,λ称为日接触率,当健康者与病人接触时,健康者受感染成为病人。

分析:根据假设,每个患者每天可以使()s t λ个健康者变为病人,因为病人数为()Ny t ,所以每天共有()()Ns t y t λ个健康者变为病人。即:

dy

N

Nsy dt

λ=,且()()1s t y t +=,设初始时刻病人比例为b ,则: (1)

(0)dy

y y dt

y b

λ⎧=-⎪⎨⎪=⎩,用MATLAB 解此微分方程: >> syms a b

>> f=dsolve('Dy=a*y*(1-y)','y(0)=b','t') f =

1/(1-exp(-a*t)*(-1+b)/b) %11

()1111(1)t t

y t b e e b b

λλ--=

=

--+- 当0.09,0.1b λ==时,分别在坐标系oty 中作出()y t 的图像,坐标系oyy '中作出

(1)y y y λ'=-的图像,

>> 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)) ()y t 的图像

>> ezplot(f,[0,60]) >> grid on

>> figure (2)

>> fplot('0.1*y*(1-y)',[0,1])

>> grid on

(1)y y y λ'=-的图像

模型分析:(1)当12y =

时,dy

dt

达到最大值,则此时病人增速最快。 (2)当t →∞时,()1y t →,即所有的人被传染,全部变为病人,这显然是不符合实际的,其原因是没有考虑到病人可以治愈,人群中的健康者只能变为病人,而病人不

会变为健康者。

2、模型2:SIS 模型。 假设:

(1)t 时刻人群分为易感者(占总人数比例的()s t )和已感染者(占总人数比例的()y t ) (2)每个病人每天有效接触的平均人数是常数λ,λ称为日接触率,当健康者与病人接触时,健康者受感染成为病人。

(3)病人每天被治愈的占病人总数的比例为μ,称为日治愈率,显然

1

μ

为这种传染病的平均传染期。则dy

N

Nsy Ny dt

λμ=-。则建立微分方程模型为: (1)(0)dy

y y y

dt

y b λμ⎧=--⎪⎨⎪=⎩

用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) /

化简:

()().().()()()

a c t a c t a c

e a c ba a e a c ba c a b a c b a c ------++-++-+

--

2

()()()().().()a c t a c t b a c ab a c e a c ba e a c ba c -----=---+++-++ 2

()()()().()

a c t

b a

c ab a c c a e a c ba ---=

-+---++1

()2

()().()()a c t ab a c c a e a c ba b a c ---⎡⎤-+---++=⎢⎥-⎣⎦

1

()1()a c t a a e a c b a c ---⎡⎤

=+-⎢⎥--⎣⎦

即:1

()1()()t y t e b λμλλλμλμ---⎡⎤=+-⎢⎥--⎣⎦

当(1)λμ≠时,1

()1()()t y t e b λμλλ

λμλμ---⎡⎤=+-⎢⎥--⎣⎦

(2)λμ=时,

>> clear

>> h2=dsolve('Dy=a*y*(1-y)-a*y','y(0)=b','t') h2 =

1/(a*t+1/b)

即:1

1()y t t b λ-⎡

⎤=+⎢⎥⎣

⎦。

定义λ

σμ

=

:一个传染期内每个病人有效接触的平均人数。 则:1

1,(1)

()0(1)

y σσσ⎧->⎪∞=⎨⎪≤⎩,用MATLAB 作图像:

令0.01λ=,0.05μ=,0.7b =(0.21σ=<) >> 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)

相关文档
最新文档