传染病模型 SI SIR SIS
数学模型实验—实验报告10
学院: 专 业: 姓 名: 学号:___ ____ 实验时间:__ ____ 实验地点:
一、实验项目:传染病模型求解
二、实验目的和要求
a. 求解微分方程的解析解
b. 求解微分方程的数值解
三、实验内容
问题的描述
各种传染病给人类带来的巨大的灾难,长期以来,建立传染病的数学模型来描述传染病的的传播过程,分析受感染人数的变化规律,探索制止传染病蔓延的手段等,一直是各国有关专家和官员关注的课题。
不同类型传染病有各自不同的特点,在此以一般的传播机理建立几种3模型。分别对3种建立成功的模型进行模型分析,便可以了解到该传染病在人类间传播的大概情况。
模型一(SI 模型):
(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 则建立好的模型为:
di
=ai (1-i )
dt
i(0)=i0
(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])
figure
i=str2double(i); i=0:0.01:1; y=0.3*i.*(1-i);
plot(i,y)
SI 模型的i~t曲线 SI 模型的di/dt~i 曲线
(4)结果分析
由上图可知,在i=0:1内,di/dt总是增大的,且在i=0.5时,取到最大值,即在t->inf时,所有人都将患病。
上述模型显然不符合实际,为修正上述结果,我们重新考虑模型假设,建立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 是整个传染传染期内每个病人有效接触的平均人数,成为接触数。 则建立好的模型为:
di
=-ai [i -(1-1/k )] dt
i(0)=i0;
(2) 模型求解 (代码、计算结果或输出结果)
>> 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 表示的i —t 解析式 >> syms k % k :接触数 >> k=a/u;
>> i=dsolve('Di=-a*i*i+a*i*(1-1/k)','i(0)=i0','t') % 求用k 表示的i —t 解析式
% 给k 、a 、i0指定特殊值,作出相关图像
>> y=subs(i,{k,a,i0},{2,0.3,0.02}); %①k>1的情况,以k=2为例 >> ezplot(y,[0,100])
>>pause %作i —t 图,分析随时间t 的增加, i的变化 >> gtext('1/k') >>legend('k>1 本例中k=2') >>figure
>> i=str2double(i); >> i=0:0.01:1;
>> y=-0.3*i.*[i-1/2];
>> plot(i,y) %作di/dt—i 的图像 >> 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]) %作i —t 图,分析随时间t 增加,i 的变化 >> legend('k>figure
>> i=str2double(i); >> i=0:0.01:1;
>> y=-0.3*i.*[i-(1-1/0.8)];
>> plot(i,y) %作di/dt—i 的图像 >> legend('k=0.8')
>> gtext('k
)
SIS 模型的di/dt—i 曲线 (k>1) SIS 模型的i —t 曲线(k>1)
SIS 模型的di/dt—i 曲线 (k
不难看出,接触数k=1是一个阈值,当k>1时,i (t )的增减性取决于i0的大小,但其极限值
i(∞)=1-1/k随k 的增加而增加;当k
模型三.SIR 模型 (1)模型假设
1. 总人数N 不变,人群分为健康者、病人和病愈免疫的移出者三类,称SIR 模型。时刻t 三类人在总人数N 中占得比例分别记作s (t ), i (t ) 和r (t ) 。 2. 病人的日接触率为λ,日治愈率为
μ(与SI 模型相同)
,传染期接触数为σ=λ/μ。
(2)模型建立
由假设1显然有
s (t ) +i (t ) +r (t ) =1 (1)
对于病愈免疫的移出者而言应有
N
dr
=μNi dt (2)
再记初始时刻的健康者和病人的比例分别是s0(s0>0)和i0(i0>0)(不妨设移出者的初始值r0=0),则SIR 模型的方程可以写作
⎧di
=λsi -μi , i (0) =t 0⎪⎪dt ⎨
⎪ds =-λsi , s (0) =s
0⎪⎩dt (3)
(3)模型求解
我们无法求出解析解,先做数值计算:
设λ=1, μ=0. 3, i (0) =0. 02, s (0) =0. 98,用MA TLAB 软件编程:
function 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,x] plot(t,x(:,1),t,x(:,2)),grid,pause plot(x(:,2),x(:,1))
表1 i (t ), s (t ) 的数值计算结果
i (t ), s (t ) 的图形 i—s 图形(相轨线)
(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 1=-1i |=i
dt σs ,s =s 00 (4)
容易求出它的解为
i =(s 0+i 0) -s +
1
σ
ln
s
s 0 (5)
在定义域D 内,上式表示的曲线即为相轨线 1. 不论初始条件
s 0, i 0如何,病人终将消失,即
i ∞=0 (6)
ds dr ≤0≥0
s (t ) ≥0s 其证明如下,首先,由(3),dt 而故∞存在;由(2),dt ,而r (t ) ≤1,故r ∞存在,dr ε>μ
2,这将导致,与r ∞存在相矛盾。 再由(1),对于充分大的t 有dt
2. 最终未被感染的健康者的比例是s ∞,在(5)式中令i =0得到,s ∞是方程
s 0+i 0-s ∞+
1
σ
ln
s ∞
=0s 0
(7)
在(0, 1/σ) 内的根。在图形上,s ∞是相轨线与s 轴在(0, 1/σ) 内交点的横坐标。 3. 若
s 0>1/σ,则i (t ) 先增加,当s =1/σ时,i (t ) 达到最大值
1
(1+ln σs 0)
i ∞=s 0+i 0-
σ
(8)
然后i (t ) 减小且趋近于0,s (t ) 则单调减小至s ∞。 4. 若
s 0≤1/σ,则i (t ) 单调减少至0,s (t ) 单调减少至s ∞。如果仅当病人比例i (t ) 有一段增长的时期才
s 0>1/σ(即σ>1/s 0)时传染病就会蔓延。而减小传
认为传染病在蔓延,那么1/σ是一个阈值,当染期接触数σ,即提高阈值1/σ,使得
s 0≤1/σ(即σ≤1/s 0)
,传染病就不会蔓延(健康者比例的
初始值
s 0是一定的,通常可认为s 0接近1)
。
s 0>1/σ,从(7)i ,(8)式可以看出,σ减少时,s ∞增加(通过作图分析),m 降低,也
并且,即使
控制了蔓延的程度,我们注意到,在σ=λ/μ中,人们的卫生水平越高,日接触率λ越小;医疗水平越高,日治愈率μ越大,于是σ越小,所以提高卫生水平和医疗水平有助于控制传染病的蔓延。 从另一方面看,σs =λs ∙1/μ是传染期内一个病人传染的健康者的平均数,称为交换数,其含义是一个病人被σs 个健康者交换,所以当
s 0≤1/σ, 即σs 0≤1时,必有σs ≤1,既然交换数不超过1,病人比
例i (t ) 绝不会增加,传染病不会蔓延。
建模所得:
1. 符号变量如何使用
2. 如何求微分方程的解析解和数值解
3. 对符号变量方程作图时,先将其中的符号变量赋值,再将其变成数值变量,这也是一种有效的解决
方法。
相关文章
- 传染病传播模型综述
- 机床立柱灵敏度分析及多目标优化设计
- SIRS传染病模型的稳定性分析
- SPNR:社交网络中的新型谣言传播模型
- 基于Matlab的传染病动力学模型仿真平台
- 傅里叶变换和拉氏变换.Z变换
- 外资进入对我国零售产业集聚的影响
- 四足机器人的动力学分析与仿真
- 基于缺陷均匀分布的互连线间耦合电容分析
- 埃博拉病毒感染数量的一个数学模型
1000-6788(2011)09-1736-09 N949:R131 A 传染病传播模型综述 张发1,2李璐2 宣慧玉21.空军工程大学工程学院,西安710038:2.西安交通大学管理学院,西安710049 建立传染病传播模型是理解传染病 ...
2009年第28卷4月第4期机械科学与技术 M echan ica l Sc ience and T echno l ogy f o r A e rospace Eng i neer i ng A pril 2009V o. l 28N o ...
沈阳农业大学学报,2010-02,41(1) :122-124 Journal of Shenyang Agricultural University ,2010-02,41(1) :122-124 SI n RS 传染病模型的稳定性分析 ...
doi:10.3969/j.issn.1671-1122.2014.01.002 SPNR:社交网络中的新型谣言传播模型 薛一波1, 2,鲍媛媛1, 2,易成岐3 (1.清华大学信息技术研究院,北京 100084:2. 清华大学信息科学技术 ...
基于Matlab的传染病动力学模型仿真平台 Simulation Platform of Epidemic Dynamics Model Based on MATLAB 摘要:开发了基于Matlab的传染病动力学模型仿真平台,通过对传染病动 ...
√,带方框或圆圈的对号,选择在表格中插入对号,√□ 如上图所示,开始,字体,填写文字,选择圈号,对号在插入---符号---数学符号,第二行,第四列. 如果你的输入法是智能ABC,按V,再按1,往下面翻几页,就有√ 如果在WORD上,点&qu ...
作者:樊秀峰 西安交通大学学报:社会科学版 2011年01期 [中图分类号]F724.2 [文献标识码] A [文章编号] 1008-245X(2010)05-0001-05 一.研究背景 自2004年底我国零售市场全面开放以来,外资零售企 ...
西安工程大学学报 第23卷第3期(总97期) Jour nal of X i an Po lytechn ic Un i v ersity 2009年6月Vo. l 23, No . 3(Su m. N o . 97) 文章编号:1671 ...
第32卷 第6期2009年6月 计 算 机 学 报 C HIN ESE J OU RNAL OF COM PU TERS Vol. 32No. 6 J une 2009 基于缺陷均匀分布的互连线间耦合电容分析 段旭朝 1) 2) 1) ,2 ...
第11卷第4期2014年12月 邵阳学院学报(自然科学版) JournalofShaoyangUniversity(NaturalScienceE ...