您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 经营企划 > matlab传染病模型
传染病模型实验实验目的:理解传染病的四类模型,学会利用Matlab软件求解微分方程(组)。实验题目:利用Matlab求解传染病的SIS微分方程模型,并绘制教材P139页图3-图6。SIS模型假设:(1)、t时刻人群分为易感者(占总人数比例的s(t))和已感染者(占总人数比例的i(t))。(2)、每个病人每天有效接触的平均人数是常数,称为日接触率,当健康者与病人接触时,健康者受感染成为病人。(3)、病人每天被治愈的占病人总数的比例为,称为日治愈率,显然1为这种传染病的平均传染期。则建立微分方程模型为:令,则模型可写作分别作图:当sigma1时Step1:先定义函数functiony=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)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.0200.02当sigma1时Step1:先定义函数functiony=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)00.10.20.30.40.50.60.70.80.91-0.7-0.6-0.5-0.4-0.3-0.2-0.10当sigma=1时Step1:先定义函数functiony=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)00.10.20.30.40.50.60.70.80.91-0.35-0.3-0.25-0.2-0.15-0.1-0.050当sigma1时Step1:先定义函数functiondi=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%step2:求解并作图clcclearlambda=0.01;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('\sigma1')010020030040050060070080090010000.20.30.40.50.60.70.80.911当sigma=1时Step1:先定义函数functiondi=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%step2:求解并作图clcclearlambda=0.01;sigma=1[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);plot(t,i1)legend('\sigma=1')0100200300400500600700800900100000.10.20.30.40.50.60.70.80.91=1当sigma1时Step1:先定义函数functiondi=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%step2:求解并作图clcclearlambda=0.01;sigma=0.5;[t,i1]=ode45(@crb,[0,1000],0.9,[],lambda,sigma);plot(t,i1)legend('\sigma1')01002003004005006007008009001000-0.200.20.40.60.811.21利用matlab求解上面SIS模型.提示(画图5程序):Step1:先定义函数functiony=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)提示(画图6程序):Step1:先定义函数functiondi=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma))%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%step2:求解并作图clcclearlambda=0.01;sigma=0.2;[t,i]=ode45(@crb,[0,100],0.9,[],lambda,sigma);plot(t,i)legend('\sigma1')实验指导书:利用matlab求下面定解问题,并作图d2(3)d(0)2yyyyxy程序f=@(x,y)(2*y*(3-y)-y);[x,y]=ode45(@(x,y)f(x,y),[0,10],0.9);plot(x,y)legend('数值解1');
本文标题:matlab传染病模型
链接地址:https://www.777doc.com/doc-4362435 .html