matlab传染病模型

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

传染病模型实验

实验目的:

理解传染病的四类模型,学会利用Matlab软件求解微分方程(组)。

实验题目:

利用Matlab求解传染病的SIS微分方程模型,并绘制教材P139页图3-图6。

SIS模型

假设:

(1)、t时刻人群分为易感者(占总人数比例的s(t))和已感染者(占总人数比例的i(t))。

(2)、每个病人每天有效接触的平均人数是常数λ,λ称为日接触率,当健康者与病人接触时,健康者受感染成为病人。

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

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

μ

则建立微分方程模型为:

令,则模型可写作

分别作图:

页脚内容1

当sigma>1时

Step1:先定义函数

function y=pr1(i,lambda,sigma)

y=-lambda.*i.*(i-(1-1./sigma))

step2:作图

lambda=0.3;sigma=2;

i=0:0.01:1;

y=pr1(i,lambda,sigma)

plot(i,y)

页脚内容2

页脚内容3

00.10.20.30.40.50.60.70.80.91

-0.16

-0.14-0.12-0.1-0.08-0.06-0.04-0.020

0.02

当sigma<1时 Step1:先定义函数

function y=pr1(i,lambda,sigma) y=-lambda.*i.*(i-(1-1./sigma)) step2:作图

lambda=0.3;sigma=0.5; i=0:0.01:1;

y=pr1(i,lambda,sigma) plot(i,y)

页脚内容4

00.10.20.30.40.50.60.70.80.91

-0.7

-0.6

-0.5

-0.4

-0.3

-0.2

-0.1

当sigma=1时 Step1:先定义函数

function y=pr1(i,lambda,sigma) y=-lambda.*i.*(i-(1-1./sigma)) step2:作图

lambda=0.3;sigma=1; i=0:0.01:1;

y=pr1(i,lambda,sigma) plot(i,y)

页脚内容5

00.10.20.30.40.50.60.70.80.91

-0.35

-0.3

-0.25

-0.2

-0.15

-0.1

-0.05

当sigma>1时 Step1:先定义函数

function di=crb(t,i,lambda,sigma)

di=-lambda*i*(i-(1-1/sigma))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% step2:求解并作图 clc clear lambda=0.01;

页脚内容6

sigma=2;

[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma); [t,i2]=ode45(@crb,[0,1000],0.2,[],lambda,sigma); plot(t,i1,t,i2,t,1/2) legend('\sigma>1')

01002003004005006007008009001000

0.2

0.30.40.50.60.70.80.9

当sigma=1时 Step1:先定义函数

function di=crb(t,i,lambda,sigma)

di=-lambda*i*(i-(1-1/sigma))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% step2:求解并作图

clc

clear

lambda=0.01;

sigma=1

[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);

plot(t,i1)

legend('\sigma=1')

页脚内容7

页脚内容8

100

200

300

400

500

600

700

800

900

1000

00.10.20.30.40.50.60.70.80.91

当sigma<1时 Step1:先定义函数

function di=crb(t,i,lambda,sigma)

di=-lambda*i*(i-(1-1/sigma))

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% step2:求解并作图 clc clear lambda=0.01;

页脚内容9

sigma=0.5;

[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma); plot(t,i1)

legend('\sigma<1')

01002003004005006007008009001000

-0.2

0.2

0.4

0.6

0.8

1

1.2

利用matlab 求解上面SIS 模型. 提示(画图5程序): Step1:先定义函数

function y=pr1(i,lambda,sigma)

相关文档
最新文档