《matlab传染病模型》由会员分享,可在线阅读,更多相关《matlab传染病模型(8页珍藏版)》请在金锄头文库上搜索。
1、传染病模型实验实验目的:理解传染病的四类模型,学会利用Matlab软件求解微分方程(组)。实验题目:利用Matlab求解传染病的SIS微分方程模型,并绘制教材P139页图3-图6SIS模型假设:(1) 、t时刻人群分为易感者(占总人数比例的)和已感染者(占总人数比例 的 i(t)。(2) 、每个病人每天有效接触的平均人数是常数人,人称为日接触率,当健 康者与病人接触时,健康者受感染成为病人。(3) 、病人每天被治愈的占病人总数的比例为r,称为日治愈率,显然I为R这种传染病的平均传染期。则建立微分方程模型为:didt1 z) 如)=祐令。=,则模型可写作分别作图:当 sigma1 时Stepl
2、:先定义函数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)0.02 0 -0.02 -0.04 -0.06 -0.08 -0.1 -0.12 -0.14 -0.1600.10.20.30.40.50.60.70.80.91当 sigma1 时Stepl :先定义函数function di=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma)%
3、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)当 sigma=1 时Stepl :先定义函数function di=crb(t,i,lambda,sigma)di=-lambda*i*(i-(1-1/sigma)%step2 :求解并作图clcclearlambda=0.01;sigma=1t,i1=ode45(crb,0,1000,
4、0.9,lambda,sigma);plot(t,i1)legend(sigma=1)10.90.80.70.60.50.40.30.20.1=11002003004005006007008009001000当 sigma1 时Stepl :先定义函数function di=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)利用matla
5、b求解上面SIS模型.提示(画图5程序):Stepl :先定义函数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)提示(画图6程序):Stepl :先定义函数function di=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求下面定解问题,并作图毕=2 y (3 - y) - y dx、y (0) = 2程序f=(x,y)(2*y*(3-y)-y);x,y=ode4 5(x,y)f(x,y),0,10,0.9);plot(x,y)legend(数值解 1);