logo资料库

si,sisi,sir模型.doc

第1页 / 共10页
第2页 / 共10页
第3页 / 共10页
第4页 / 共10页
第5页 / 共10页
第6页 / 共10页
第7页 / 共10页
第8页 / 共10页
资料共10页,剩余部分请下载后查看
SI 模型 利用 MATLAB 求解传染病模型中的 SI 模型的解析解: 程序中 a 即λ,y 即 i >> y=dsolve('Dy=a*(y-y^2)','y(0)=y0') y = 1/(1-exp(-a*t)*(-1+y0)/y0) 画图:SI 模型的 i~t 曲线 设λ=1, i(0)=0.1 >> y=dsolve('Dy=y-y^2','y(0)=0.1') y = 1/(1+9*exp(-t)) >> x=0:0.01:13; y=1./(1+9.*exp(-x)); >> plot(x,y) title('SI 模型的 i~t 曲线'); xlabel('t'); ylabel('i'); axis([0 13 0 1.1]);
画图:SI 模型的 di/dt~i 曲线 程序中 x 即 i,y 即 di/dt,λ=1 >> x=0:0.01:1; y=x-x.*x; >> plot(x,y) title('SI 模型的 di/dt~i 曲线'); xlabel('i'); ylabel('di/dt'); >>
SIS 模型 利用 MATLAB 求解传染病模型中的 SIS 模型的解析解: 程序中 a 即λ,b 即μ,y 即 i >> y=dsolve('Dy=a*(y-y^2)-b*y','y(0)=y0') y = (a-b)/(a-exp(-(a-b)*t)*(-a+b+y0*a)/y0/(a-b)*a+exp(-(a-b)*t)*(-a+b+y0*a)/y0/(a-b) *b) 画图:SIS 模型的 di/dt~i 曲线(δ>1) 程序中 x 即 i,y 即 di/dt,λ=1,μ=0.3 >> x=0:0.01:1; >> y=0.7.*x-x.^2; >> plot(x,y) title('SIS 模型的 di/dt~i 曲线'); xlabel('i'); ylabel('di/dt'); >>
画图:SIS 模型的 i~t 曲线(δ>1) 设λ=1,μ=0.3,i(0)=0.02 >> y=dsolve('Dy=0.7*y-y^2','y(0)=0.02') y = 7/(10+340*exp(-7/10*t)) >> x=0:1:16; >> y=7./(10+340.*exp(-7./10.*x)); >> plot(x,y) title('SIS 模型的 i~t 曲线'); xlabel('t'); ylabel('i'); >> 画图:SIS 模型的 di/dt~i 曲线(δ≤1)
程序中 x 即 i,y 即 di/dt,λ=0.5,μ=0.6 >> x=0:0.01:1; >> y=-0.5.*x.^2-0.1.*x; >> plot(x,y) title('SIS 模型的 di/dt~i 曲线'); xlabel('i'); ylabel('di/dt'); >> 画图:SIS 模型的 i~t 曲线(δ≤1) 设λ=0.5,μ=0.6,i(0)=0.02
>> y=dsolve('Dy=-0.5*y^2-0.1*y','y(0)=0.02') y = 1/(-5+55*exp(1/10*t)) >> x=0:1:40; >> y=1./(-5+55.*exp(1./10.*x)); >> plot(x,y) title('SIS 模型的 i~t 曲线'); xlabel('t'); ylabel('i'); >> SIR 模型
利用 MATLAB 求解传染病模型中的 SIR 模型的数值解: 程序中 a=λ=1, b=μ=0.3,i(0)=0.02,s(0)=0.98 M 文件中: function y=ill(t,x) a=1;b=0.3; y=[a*x(1)*x(2)-b*x(1),-a*x(1)*x(2)]'; 命令窗口中: >> [t,x]=ode45('ill',[0:50],[0.02,0.98]);[t,x] ans = 0 1.0000 2.0000 3.0000 4.0000 5.0000 6.0000 7.0000 8.0000 9.0000 10.0000 11.0000 12.0000 13.0000 14.0000 15.0000 16.0000 17.0000 18.0000 19.0000 20.0000 21.0000 22.0000 23.0000 24.0000 25.0000 26.0000 27.0000 28.0000 29.0000 30.0000 31.0000 32.0000 0.0200 0.0390 0.0732 0.1285 0.2033 0.2795 0.3312 0.3444 0.3247 0.2863 0.2418 0.1986 0.1599 0.1272 0.1004 0.0787 0.0614 0.0478 0.0371 0.0287 0.0223 0.0172 0.0133 0.0103 0.0079 0.0061 0.0047 0.0036 0.0028 0.0022 0.0017 0.0013 0.0010 0.9800 0.9525 0.9019 0.8169 0.6927 0.5438 0.3995 0.2839 0.2027 0.1493 0.1145 0.0917 0.0767 0.0665 0.0593 0.0543 0.0507 0.0480 0.0460 0.0445 0.0434 0.0426 0.0419 0.0415 0.0411 0.0408 0.0406 0.0404 0.0403 0.0402 0.0401 0.0400 0.0400
33.0000 34.0000 35.0000 36.0000 37.0000 38.0000 39.0000 40.0000 41.0000 42.0000 43.0000 44.0000 45.0000 46.0000 47.0000 48.0000 49.0000 50.0000 0.0008 0.0006 0.0005 0.0004 0.0003 0.0002 0.0002 0.0001 0.0001 0.0001 0.0001 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0000 0.0400 0.0399 0.0399 0.0399 0.0399 0.0399 0.0399 0.0399 0.0399 0.0399 0.0399 0.0398 0.0398 0.0398 0.0398 0.0398 0.0398 0.0398 >> plot(t,x(:,1),t,x(:,2)),grid,pause i(t),s(t)图形如下: >> plot(x(:,2),x(:,1)),grid,pause i~s 图形(相轨线)如下:
分享到:
收藏