数学实验报告—猎狗追赶兔子模型实验 一.实验问题 有一只猎狗在 B 点位置发现了一只兔子在正东北方距离它 200 米的地方O 处,此时兔子开始以 8 米/秒的速度向正西北方距离为 120 米的洞口 A 全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用计算机仿真法等多种方法完成下面的实验: (1) 问猎狗能追上兔子的最小速度是多少? (2) 在猎狗能追上兔子的情况下,猎狗跑过的路程是多少? (3) 画出猎狗追赶兔子奔跑的曲线图。 (4) 假设在追赶过程中,当猎狗与兔子之间的距离为 30 米时,兔子由于害怕,奔跑的速度每秒减半,而猎狗却由于兴奋奔跑的速度每秒增加 0.1倍,在这种情况下,再按前面的(1)—(3)完成实验任务。 一. 问题的分析 模型求解 (1) 求解析解 有方程: {dp√ 1+p2 = r dxx ,p(c) = 0 解该变量分离方程得 p + √ 1 + p2 = (xc)r, 等价地亦可转换为 P -√1 + p2 = −(cx)r 从而可得 {dydx = 12[(xc)r − (cx)r]y(c) = 0 1)当r<1时,方程的解为 y = c2[11 + r(xc)r −11 − r(cx)1−r] +cr1 − r2, 此为猎狗追赶兔子的路线函数。当x=0 时,猎狗追上兔子,猎狗走过的距离为 y =cr1−r2, 追赶时间为 t = ya =cra(1−r2) =bc(b2−a2). 2)当r=1 时,方程的解为 Y=12 (x2−c22c− cln xc), 3)当 r>1时,方程的解为 y = c2 [ 11+r (xc)1+r +1r−1 (cx)r−1] −ᵅᵅᵅ2−1, (2)用MATLAB 软件求解析解 在MATLAB 软件命令窗中执行命令 Dsolve(‘Dy=1/2*((x/c)^r-(c/x)^r)’,’y(c)=0’,’x’) 得方程的解析解为 ans=1/2*exp(-r*(log(c)-log(x)))*c^r*(1/c)^r/(r+1)*x+1/2* exp(r*(log(c)-log(x)))/((-1+r)*x-1/2*c*(-(1/c)^r*c^r+c^r*(1/c)^r*r+r+1)/(r^2-1) (3)用MATLAB 软件求数值解 先生成初值问题的函数文件。 Function y=hs(t,y) Y=8/18*((t/3)^(8/18)-(3/t)^(8/18)) 保存为hs.m,然后在MATLAB 软件命令窗中用二三阶龙格——库塔算法计算初值问题的数值解。 执行命令 Ode23(‘hs’,200,0.0005,0) 若选用四五阶龙格——库塔算法解初值问题,则执行命令 Ode45(‘hs’,200,0.0005,0) 最终得到猎狗的坐标。 此次问题可以选用计算机仿真饭 显然可以将事件坐标转换到第一象限内,设兔子初始位置O 为(0,0),运动方向为沿x 轴正方向,速度为a。洞口A 坐标为(0,120)。猎狗初始位置B 为(20...