1数学建模与数学实验课程实验报告实验名称微分方程初值问题求解matlab实验班级学号姓名序号任课教师实验地点数学实验中心评分一、实验目的1、学习简单问题的常微分方程建模。2、学习并理解食饵-捕食者模型;3、掌握微分方程(组)初值问题的matlab数值求解;二、实验要求和结果1.地中海鲨鱼问题意大利生物学家Ancona曾致力于鱼类种群相互制约关系的研究,他从第一次世界大战期间,地中海各港口捕获的几种鱼类捕获量百分比的资料中,发现鲨鱼等的比例有明显增加(见下表),而供其捕食的食用鱼的百分比却明显下降.显然战争使捕鱼量下降,食用鱼增加,鲨鱼等也随之增加,但为何鲨鱼的比例大幅增加呢?年代19141915191619171918百分比11.921.422.121.236.4年代19191920192119221923百分比27.316.015.914.819.71.符号说明:)(1tx——食饵在t时刻的数量;)(2tx——捕食者在t时刻的数量;1r——食饵独立生存时的增长率;2r——捕食者独自存在时的死亡率;1——捕食者掠取食饵的能力;2——食饵对捕食者的供养能力.e—捕获能力系数2.基本假设:(1)食饵由于捕食者的存在使增长率降低,假设降低的程度与捕食者数量成正比;(2)捕食者由于食饵为它提供食物的作用使其死亡率降低或使之增长,假定增长的程度与食饵数量成正比。3.模型建立与求解模型(一)不考虑人工捕获)(21111xrxdtdx)(12222xrxdtdx2x2(t)针对一组具体的数据用Matlab软件进行数值求解,画出食饵和捕食者图形以及相轨线图.设食饵和捕食者的初始数量分别为101)0(xx,202)0(xx对于数据2,25,02.0,5.0,1.0,120102211xxrr,t的终值经试验后确定为15,即模型为:2)0(,25)0()02.05.0()1.01(2112'221'1xxxxxxxx解:Matlab运行首先建立M文件fun.m如下:functiondx=fun(t,x)dx=zeros(2,1)dx(1)=x(1)*(1-0.1*x(2));dx(2)=x(2)*(-0.5+0.02*x(1));然后,输入以下命令:[t,x]=ode45(‘fun’,[015],[252]);plot(t,x(:,1),’-’,t,x(:,2),’*’)plot(x(:,1),x(:,2))x1(t)和x2(t)的曲线图如下相轨线y(x)的图形如下:x1(t)食饵捕食者图形3数值结果为t=77*1double,x=77*2double.该模型反映了在没有人工捕获的自然环境中食饵与捕食者之间的制约关系,没有考虑食饵和捕食者自身的阻滞作用,是最简单的模型。食饵的量增加,捕食者也随之增加;食饵的量减少,捕食者的量也随之减少。可以猜想x1(t)和x2(t)都是周期函数。而且它们的循环是有一定周期的。模型(二)考虑人工捕获设表示捕获能力的系数为e,相当于食饵的自然增长率由r1降为r1-e,捕食者的死亡率由r2增为r2+e])([])[(1222221111xerxdtdxxerxdtdx20,250,02.0,5.0,1.0,1212211)()(仍取xxrr设战前捕获能力系数e=0.3,战争中降为e=0.1,则战前与战争中的模型分别为:2)0(,25)0()02.08.0()1.07.0(21122211xxxxdtdxxxdtdx2)0(,25)0()02.06.0()1.09.0(21122211xxxxdtdxxxdtdx建立主程序shark1.m,求解两个方程,并画出两种情况下鲨鱼数在鱼类总数中所占比例x2(t)/[x1(t)+x2(t)]解:先在matlab中建立M文件shier1.m:functiondx=shier1(t,x)dx=zeros(2,1);dx(1)=x(1)*(0.7-0.1*x(2));dx(2)=x(2)*(-0.8+0.02*x(1));再在matlab中先建立M文件shier2.m::4functiondx=shier2(t,x)dx=zeros(2,1);dx(1)=x(1)*(0.9-0.1*x(2));dx(2)=x(2)*(-0.6+0.02*x(1));然后在matlab中输入以下命令:[t,x]=ode45('shier1',[015],[252]);plot(t,x(:,2)./(x(:,1)+x(:,2)),'-')[t,x]=ode45('shier2',[015],[252]);plot(t,x(:,2)./(x(:,1)+x(:,2)),’*’)求解结果:战前x=65*2doublet=65*1double战争中x=77*2doublet=77*1double结论:战争中鲨鱼的比例比战前高。2.慢跑者与狗一慢跑者在平面上沿着他喜欢的路径跑步,突然遭到一只狗的攻击,这只狗以恒定的速度跑向慢跑者,试计算狗追赶的轨迹。并就当慢跑者沿路径010YtX或tYtXsin1520cos2010(t为时间参数)跑动时,给出具体的数值结果和运动轨迹图(狗的初始位置和速度可以自行设定)。解:1.模型建立当慢跑者沿路径2慢跑时,设时刻t慢跑者的坐标为(X(t),Y(t)),狗的坐标为(x(t),y(t)),狗的速率为w=20,则X=10+20cost,Y=20+15sint,狗从(0,0)出发,建立狗的运动轨迹的参数方程:)()()(2020)()()(202222yYyYxXdtdyxXyYxXdtdx战争中战前5x(0)=0,y(0)=02.模型求解建立M文件eq2.m如下:functiondy=eq2(t,y)dy=zeros(2,1);dy(1)=20*(10+20*cos(t)-y(1))/sqrt((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2);dy(2)=20*(20+15*sin(t)-y(2))/sqrt((10+20*cos(t)-y(1))^2+(20+15*sin(t)-y(2))^2);取t0=0,tf=10,建立主程序chase2.m如下:[t,y]=ode45('eq2',[010],[00]);Y=0:0.1:2*pi;X=10+20*cos(t);Y=20+15*sin(t);plot(X,Y,'-'),holdonplot(y(:,1),y(:,2),'*')得到图形:在chase2.m中,不断修改tf的值,用二分法分别取tf=5,2.5,3.5,...,至3.15时,狗刚好追上慢跑者,即如下图6三、思考自然界中不少吃农作物的害虫都有其天敌——益虫,也就是以害虫为食饵的捕食者。因此害虫和益虫也构成了一个食饵—捕食者系统。如果人类使用的某种杀虫剂,既能杀死害虫,也能杀死益虫,从长期来看,会有什么样的效果,害虫会减少吗?答:害虫不仅不会减少,还会增加。因为人类对作物喷洒杀虫剂时,相当于前面讨论过的人为捕获的影响,此时捕食者(益虫)占总虫子数的比例减小,从长期效果看,用这种杀虫剂将使害虫增加,益虫减少,与使用者的愿望相反。