数学实验(猎狗追兔子问题)

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab上机实验报告

一.题目

如图所示,有一只猎狗在B点位置发现了已知兔子在正东北方向距离它200米的地方O处,此时兔子开始以8米/秒的速度向正西北方向距离为120米的洞口全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑按要去完成以下的实验:

(1)问猎狗能追上兔子的最小速度是多少?

(2)选取猎狗的速度分别为15、18米/秒,计算猎狗追上兔子时跑过的路程和时间。

(3)画出猎狗追赶兔子奔跑的曲线图。

二.问题分析

(1)本题目是在限定条件下求极值的问题,可以通过建立有约束条件的微分方程加以模拟。

(2)通过运用欧拉公式及改进欧拉公式的原理,结合高等数学的有关知识,对微分方程进行求解。

(3)将数学求解用Matlab程序语言进行实现,得出方程的近似解。

(4)最后解方程的解结合实际问题转化为具体问题的实际结果。

三.假设约定

(1)假设在兔子和猎狗的运动过程中,两者的速度保持恒定,且不受其他因素的影响。

(2)假设在较短的时间内猎狗运动的轨迹为直线。

(3)当猎狗与兔子之间的距离相当小时,认为猎狗已经追上了兔子。

四.模型建立

以BO所在的直线为x轴,以OA所在的直线为y轴建立如图所示的直角坐标系,则O点坐标(0,0),B点坐标(-200,0),A点坐标(0,120),设猎狗跑够的路程为s,经历的时间为t。

从猎狗发现兔子时起,在t时刻,兔子到达C(0,8t)点,猎狗到达(x,y)点,设猎狗的速度为v,由题意可知:

dy/dx=(y-8t)/a

ds/dt=b

对两边关于x求导可得:

x*d2y=-a(dt/dx)

dt/dx=-1/b*(1+(dy/dx)^2)^0.5

于是:

x*d2=8/v*(1+(dy/dx)^2)^0.5

y(-200)=0,dy(-200)=0

则该问题的模型建立

五.模型求解

1.方程求解

令p=dy/dx,则d2y=dp/dx,所以方程可以化为:

dp/(1+p^2)^0.5=8/v*dx/x

⇨p+(1+p^2)^0.5=(x/-200)^(8/v)

⇨p+(1+p^2)^0.5=-(-200/x)^(8/v)

所以:

dy/dx=0.5*((x/-200)^(8/v)- (-200/x)^(8/v))

由高等数学的知识可以解得:

y=-100*(-1/200*x)^(8/v+1)/(8/v+1)-100*(-1/200*x)^(-8/v+1)/(-8/v

+1)+1600*v/(-64+v^2)

2.最小速度

令x=0,此时猎狗追上兔子,则兔子走过的距离为

y=1600*v/(-64+v^2)

则追赶的时间为:

t=y/8=200*v/(-64+v^2)

由于兔子跑回窝的时间是一个定植,所以当猎狗以最小速度追赶上兔子时,所经历的时间恰好为兔子跑回窝所需要的时间,即:

200*v/(-64+v^2)=15

可以解得:v=17.0803

即猎狗的最小速度为17.0803米/秒

3.变换速度

1.当猎狗的速度为15米/秒时,由以上的分析可以知道猎狗不能追

上兔子。

2.当猎狗的速度为18米/秒时,猎狗可以追上兔子,则:

兔子跑过的路程:y=1600*18/(-64+18^2)=110.7692米

所用时间:t= y/8=13.8462秒

猎狗跑过的路程:s=18*t=249.2308米

4.奔跑曲线

利用matlab软件可以作出猎狗以最小速度追上兔子时的曲线图

画图代码如下(含坐标变换):

v=17.0803;

x1=[];

y1=[];

x2=[];

y2=[];

d=2^0.5/2;

for x=-200:0

x1=[x1,x];

y1=[y1,100*(-1/200*x)^(8/v+1)/(8/v+1)-100*(-1/200*x)^(-8/v+1)/(-8/v+1)+

1600*v/(-64+v^2)];

x2=[x2,0];

y2=[y2,120/200*(200+x)];

end

hold on

axis([-150 100 -150 100])

xd=d.*x1-d.*y1;

yd=d.*x1+d.*y1;

xt=d.*x2-d.*y2;

yt=d.*x2+d.*y2;

plot(xd,yd,'*')

plot(xt,yt,'*')

六.实验总结

(1)本题目考察了matlab软件中for语句的灵活运用,以及各种语句之间的配合,体现了该软件灵活丰富的编程功能。

(2)实验锻炼了我们分析实际问题、转化问题、并用所学解决问题的能力。尤其是将身边的

(3)实际问题转化为数学问题,再将数学问题经过模型建立、简化,运用软件解决问题的能力。

(4)实验中小组成员之间的相互协作,提高了解决问题的效率,同时增强了我们的团队意识

相关文档
最新文档