实验07讲评、参考答案讲评未按时交的同学数学:01边清水,14黄浦,28陆杭涛,34谭世韬,50钟鑫信科:19施磊批改情况:1附参考答案:王平《数学建模实验》2学时)实验07微分方程模型(微分方程模型)(第5章p136~138模型)2(验证)传染病模型(SI1.:(SI模型)传染病模型2dii?i(0)ik(1?i),?0dt其中,t天病人在总人数中所占的比例。ti()是第是每个病人每天有效接触的平均人数(日接触率)。k=0)病人的比例。i是初始时刻(t0dii~p136~138画曲线图1.1dtdidii~达到最大值,并在曲线图i为何值时的曲线图,求=0.1取k,画出dtdt上标注。参考程序:%传染病模型2(SI模型)的di/dt~i曲线图%文件名:p137fig2.m%λ=0.1clear;clc;2,[01.100.03]);'0.1*x*(1-x)'fplot(,0,1)'-0.1*x*(1-x)'x=fminbnd(y=0.1*x*(1-x)onhold);':'plot([0,x],[y,y],':',[x,x],[0,y],);'bottom','VerticalAlignment',text(0,y,'(di/dt)m');'center''HorizontalAlignment',text(x,-0.001,num2str(x),);'di/dt~i曲线title('SI模型的);'i'xlabel();'di/dt'ylabel(;offholdfplot,fminbnd,plot,text,title,xlabel提示:)画曲线图1函数,调用格式如下:用fplotfplot(fun,lims)x的可执行字符串。fun必须为一个M文件的函数名或对变量x轴被限制在此区间上。lims取[xminxmax],则若y轴也被限制。取[xminxmaxyminymax],则若lims本题可用,[01.100.03]);fplot('0.1*x*(1-x)'2)求最大值,调用格式如下:用求解边界约束条件下的非线性最小化函数fminbnd,x1,x2)'fun'x=fminbnd(的可执行字符串。M文件的函数名或对变量xfun必须为一个值。上函数取最小值时的x返回自变量x在区间x1<x<x2本题可用,0,1)'-0.1*x*(1-x)'x=fminbnd(y=0.1*x*(1-x))指示最大值坐标3plot,调用格式如下:用线性绘图函数,…)数据点图标'颜色数据点图标',x2,y2,'线型颜色plot(x1,y1,'线型本题可用在上面的同一张图上画线(同坐标系)holdon;%);':'':',[x,x],[0,y],plot([0,x],[y,y],4)图形的标注text,调用格式如下:使用文本标注函数1格式)字符串1',text(x,y,文本标识内容,'HorizontalAlignment''给定标注文本在图中添加的位置。x,y同一为水平控制属性,控制文本标识起点位于点(x,y)'HorizontalAlignment'水平线上。3'字符串1'为水平控制属性值,取三个值之一:'left',点(x,y)位于文本标识的左边。'center',点(x,y)位于文本标识的中心点。'right',点(x,y)位于文本标识的右边。格式2text(x,y,文本标识内容,'VerticalAlignment','字符串2')x,y给定标注文本在图中添加的位置。'VerticalAlignment'为垂直控制属性,控制文本标识起点位于点(x,y)同一垂直线上。'字符串1'为垂直控制属性值,取四个值之一:'middle','top','cap','baseline','bottom'。(对应位置可在命令窗口应用确定)本题可用text(0,y,'(di/dt)m','VerticalAlignment','bottom');text(x,-0.001,num2str(x),'HorizontalAlignment','center');5)坐标轴标注调用函数xlabel,ylabel和title本题可用title('SI模型di/dt~i曲线');xlabel('i');ylabel('di/dt');☆程序运行结果(比较[138]图2):(在图形窗口菜单选择Edit/CopyFigure,复制图形)SI模型的di/dt~i曲线0.030.0250.02td0.015/id0.010.0050(di/dt)m00.20.40.50.60.81i41.2画i~t曲线图p136~138求出微分方程的解析解i(t),画出i~t曲线(i(0)=0.15,k=0.2,t=0~30)(见[138]图1比较)。参考程序:%5.1传染病模型——模型2%文件名:p136fig1.m%di/dt=ki(1-i),i(0)=i0clear;clc;x=dsolve('Dx=k*x*(1-x)','x(0)=x0')%求微分方程的解析解,为符号表达式x0=0.15;k=0.2;%xi对应i,xi0对应i0,k对应λtt=0:0.1:30;%时间单位为天fors=1:length(tt)%x的表达式中没有点运算,按标量运算取值xxt=tt(s);xx(s)=eval(x);%给出xi0=0.2,k=0.2,t,求符号表达式xi的对应值end%xx为复数表示plot(tt,xx);axis([03101.1]);title('图1SI模型的i~t曲线');xlabel('t(天)');ylabel('i(病人所占比例)');提示:1)求解微分方程dsolve],见提示;2)画出i~t曲线(i(0)=0.15,λ=0.2,t=0~30)用for循环,函数length,eval,plot,axis,title,xlabel,ylabel。☆程序运行结果...