0
点赞
收藏
分享

微信扫一扫

传染病模型中作图与计算(matlab,数学模型)

小铺有酒一两不够 2022-04-18 阅读 107
matlab

一、实验要求

1.取k=0.1,画出dt/di~i的曲线图,求i为何值时dt/di达到最大值,并在曲线图上标注。试编写一个m文件来实现。

2.求出微分方程的解析解 i(t),画出如下所示的 i~t 曲线(i(0)=0.15, k=0.2, t=0~30)。试编写一个 m 文件来实现。(在图形窗口菜单选择 Edit/Copy Figure,复制 图形)

3. 取λ=0.1,σ=1.5,画出如下所示的dt/di~i曲线图。试编写一个m文件来实现。(在图形窗口菜单选择 Edit/Copy Figure,复制图形)

4.求出微分方程的解析解 i(t)。取λ=0.2,σ=3,t=0~40,画出如下所示的图形。试编写 一个m文件来实现。

5.设λ=1,μ=0.3,i(0)=0.02,s(0)=0.98。编写程序,求出(i(t),s(t)的数值计算结果;i(t),s(t)图形;i~s图形(相轨线))。

二、实验内容

1.

clear
clc
fplot('0.1*x*(1-x)',[0 1.1 0 0.03]);
x=fminbnd('-0.1*x*(1-x)',0,1);
y=0.1*x*(1-x);
hold on; %在上面的同一张图上画线(同坐标系)
plot([0,x],[y,y],':',[x,x],[0,y],':');
text(0,y,'(di/dt)m','VerticalAlignment','bottom');
text(x,-0.001,num2str(x),'HorizontalAlignment','center');
title('SI模型di/dt~i曲线');
xlabel('i');
ylabel('di/dt');

2.

clear
clc
k=0.2;
x0=0.15;
x=dsolve('Dx=k*x*(1-x)','x(0)=x0');
tx=0:0.15:30;
for j=1:201
    t=tx(j);
    i(j)=eval(x);
end
plot(tx,i);
title('图1SI模型的i~t曲线');
xlabel('t(天)');
ylabel('i(病人所占比例)');

3.

clear
clc
fplot('-0.1*x*(x-(1-2/3))',[0 0.4 -0.0005 0.003]);
hold on; %在上面的同一张图上画线(同坐标系)
plot([0,0.4],[0,0]);
title('SIS模型的 di/dt~i曲 线');
xlabel('i');
ylabel('di/dt');

4.

clear
clc
k=0.2;
x0=0.2;
x=dsolve('Dx=-k*x*(x-(1-1/3))','x(0)=x0');
tx=0:0.15:40;
for j=1:267
    t=tx(j);
    i(j)=eval(x);
end
plot(tx,i);
hold on; %在上面的同一张图上画线(同坐标系)
plot([0,40],[2/3,2/3],'k:');
x0=0.9;
x=dsolve('Dx=-k*x*(x-(1-1/3))','x(0)=x0');
tx=0:0.15:40;
for j=1:267
    t=tx(j);
    i(j)=eval(x);
end
plot(tx,i,'r');
title('SIS模型的 di/dt~i曲 线');
xlabel('i');
ylabel('di/dt');
legend('i(0)=0.2','1-1/σ','i(0)=0.9');
xlim([0 40]);
ylim([0 1]);

5.

(此代码第二张图显示需要在命令栏输入任意字符)

function y=f(t,x)
y=[1*x(1)*x(2)-0.3*x(1),-1*x(1)*x(2)]';

clear
clc
t=0:50;
x=[0.02,0.98];
[t,x]=ode45('f',t,x);
[t,x]
plot(t,x);
pause
plot(x(:,2),x(:,1));

三、实验结果及其分析

1.

2.

 

3.

4.

 

5.

 

         0    0.0200    0.9800

    1.0000    0.0390    0.9525

    2.0000    0.0732    0.9019

    3.0000    0.1285    0.8169

    4.0000    0.2033    0.6927

    5.0000    0.2795    0.5438

    6.0000    0.3312    0.3995

    7.0000    0.3444    0.2839

    8.0000    0.3247    0.2027

    9.0000    0.2863    0.1493

   10.0000    0.2418    0.1145

   11.0000    0.1986    0.0917

   12.0000    0.1599    0.0767

   13.0000    0.1272    0.0665

   14.0000    0.1004    0.0593

   15.0000    0.0787    0.0543

   16.0000    0.0614    0.0507

   17.0000    0.0478    0.0480

   18.0000    0.0371    0.0460

   19.0000    0.0287    0.0445

   20.0000    0.0223    0.0434

   21.0000    0.0172    0.0426

   22.0000    0.0133    0.0419

   23.0000    0.0103    0.0415

   24.0000    0.0079    0.0411

   25.0000    0.0061    0.0408

   26.0000    0.0047    0.0406

   27.0000    0.0036    0.0404

   28.0000    0.0028    0.0403

   29.0000    0.0022    0.0402

   30.0000    0.0017    0.0401

   31.0000    0.0013    0.0400

   32.0000    0.0010    0.0400

   33.0000    0.0008    0.0400

   34.0000    0.0006    0.0399

   35.0000    0.0005    0.0399

   36.0000    0.0004    0.0399

   37.0000    0.0003    0.0399

   38.0000    0.0002    0.0399

   39.0000    0.0002    0.0399

   40.0000    0.0001    0.0399

   41.0000    0.0001    0.0399

   42.0000    0.0001    0.0399

   43.0000    0.0001    0.0399

   44.0000    0.0000    0.0398

   45.0000    0.0000    0.0398

   46.0000    0.0000    0.0398

   47.0000    0.0000    0.0398

   48.0000    0.0000    0.0398

   49.0000    0.0000    0.0398

   50.0000    0.0000    0.0398

举报

相关推荐

每日一练_171 禽兽的传染病。

金融中的数学模型

0 条评论