实验07讲评参考答案_微分方程模型(2学时).doc
文本预览下载声明
实验07讲评、参考答案
讲 评
未按时交的同学
数学:01边清水,14黄浦,28陆杭涛,34谭世韬,50钟鑫
信科:19施磊
批改情况:
附参考答案:
实验07 微分方程模型(2学时)
(第5章 微分方程模型)
1.(验证)传染病模型2(SI模型)p136~138
传染病模型2(SI模型):
其中,
i(t)是第t天病人在总人数中所占的比例。
k是每个病人每天有效接触的平均人数(日接触率)。
i0是初始时刻(t=0)病人的比例。曲线图p136~138
取k=0.1,画出的曲线图,求i为何值时达到最大值,并在曲线图上标注。
参考程序:%传染病模型2(SI模型)的di/dt~i曲线图
%文件名:p137fig2.m
%λ=0.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);
hold off;提示fplot, fminbnd, plot, text, title, xlabel
1)画曲线图
用fplot函数,调用格式如下:
fplot(fun,lims)
fun必须为一个M文件的函数名或对变量x的可执行字符串。
若lims取[xmin xmax],则x轴被限制在此区间上。
若lims取[xmin xmax ymin ymax],则y轴也被限制。
本题可用
fplot(0.1*x*(1-x),[0 1.1 0 0.03]);
2)求最大值
用求解边界约束条件下的非线性最小化函数fminbnd,调用格式如下:
x=fminbnd(fun,x1,x2)
fun必须为一个M文件的函数名或对变量x的可执行字符串。
返回自变量x在区间x1xx2上函数取最小值时的x值。
本题可用
x=fminbnd(-0.1*x*(1-x),0,1)
y=0.1*x*(1-x)
)指示最大值坐标
用线性绘图函数plot,调用格式如下:
plot(x1,y1, 颜色 线型 数据点图标, x2,y2, 颜色 线型 数据点图标,…)
本题可用
hold on; %在上面的同一张图上画线(同坐标系)
plot([0,x],[y,y],:,[x,x],[0,y],:);
)图形的标注
使用文本标注函数text,调用格式如下:
格式1
text(x,y,文本标识内容, HorizontalAlignment, 字符串1)
x,y给定标注文本在图中添加的位置。
HorizontalAlignment为水平控制属性,控制文本标识起点位于点(x,y)同一水平线上。
字符串1 为水平控制属性值,取三个值之一:
left,点(x,y)位于文本标识的左边。
center ,点(x,y)位于文本标识的中心点。
right ,点(x,y)位于文本标识的右边。
格式2
text(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):
1.2 画i~t曲线图p136~138
求出微分方程的解析解i(t),画出i~t曲线(i(0)=0.15, k=0.2, t=0~30)。
% 5.1 传染病模型——模型2
% 文件名:p136fig1.m
% di/dt=ki(1-i), i(0)=i0
clear; clc;
x=dsolve(Dx=k*x*(1-x),x(0)=x0) %求微分方程的解析解,为符号表达式
x0=0.15; k=0.2;%xi对应i,xi0对应
显示全部