狼兔问题的数学建模

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

狼追兔子的问题

1.1 摘要:

数学建模可以使抽象的问题用数学符号和语言清楚的表达出来。针对此题是高阶常微分方程问题。此例问题虽然问法多样,但解法基本一致,这道题狼和兔子在运动过程中属微分方程模型与一阶常微分方程。

狼追兔子问题来源很久,早在几百年前就有人在研究他,由于数学的发展水平不是很高和软件的局限,所以没有研究透彻。如今随着数学学科的发展和应用软件的飞速发展,对于这个的研究已进入新阶段。

由于狼要盯着兔子追,所以狼行走的是一条曲线,且在同一时刻,曲线上狼的位置与兔子的位置的连线为曲线上该点处的切线。建立二者的运动微分方程,计算它们的运动轨迹,用软件MATLAB求解微分方程模型。计算出兔子是否安全回到自己的巢穴。

1.1.1 问题的来源及意义:

(一) 问题重述与分析: 现有一只兔子,一只狼,兔子位于狼的正西100米处。

假设兔子与狼同时发现对方并一起起跑,兔子往正北60米处的巢穴跑,而狼在追兔子,已知兔子、狼是匀速跑且狼的速度是兔子的两倍。问题是兔子能否安全回到巢穴?

(二)题起源于导弹跟踪问题,与狼追兔子问题在解决方法上是大致一样的。

导弹跟踪的研究对于再军事上有很重要的意义。将导弹跟踪问题能简化为狼追兔子问题,都是高阶常微分方程模型,要涉及常微分方程,学会在实际问题中运用数学方法建模和求解。

1.1.2问题的分析:

饿狼追兔问题一阶微分方程初值问题数值解。

兔子它的洞在距离它现在吃草处正北方的60米处,在兔子的正东面100米处有一头饿狼正潜伏着观察兔子多时了兔子发现了狼的存在.兔子拼命的沿直线向洞逃跑,兔子知道不赶快进洞命休已,狼和兔子同时启动并且死死盯着兔子扑去.兔子跑的虽然快,但狼的速度是兔子速度的2倍.假如兔子和狼都匀速运动. 为了研究狼是否能够追上兔

子,可以先考虑求出狼追兔子形成的追击曲线,然后根据曲线来确定狼是否能够追上兔子。

1.1.3 模型假设:

狼在追击过程中始终朝向兔子;

狼追击兔子的轨迹看作是一条光滑的曲线,即将动点P ),(y x 的轨迹看作一条曲线,曲线方程表示为)(x y y =。

1.1.4 模型建立:

(一)问题分析:1. 以t =0时,兔子的位置作为直角坐标原点,兔子朝向狼的方向为

x 轴正向;则显然有兔子位置的横坐标01=x 。

2. 对狼来说,当x =100,y =0,即

100==x y

在t =0刚开始追击时,狼的奔跑方向朝向兔子,此时即x 轴负方向, 则有

100='=x y

图1 兔子与狼的运动轨迹

x

h A(100,0)

O

(二) 建立模型:

1变量说明

1v :兔子的速度(单位:码/秒) r :狼与兔子速度的倍数;

2v :狼的速度(单位:码/秒),显然有12rv v =

t :狼追击兔子的时刻(t=0时,表示狼开始追兔子的时刻)

1s :在时刻t ,兔子跑过的路程,)(11t s s =

2s :在时刻t ,狼跑过的路程,)(22t s s =

1、追击方向的讨论

由于狼始终朝向兔子,则在狼所在位置P ),(y x 点过狼的轨迹处的切线方向在距y 轴上的截为1y 。

设切线上的动点坐标为(X ,Y ),则切线方程为

)(x X y y Y -'=-

(1)

在(1)中,令X =0,则截距x y y Y '-=。 此时t v y 11=。

则此时截距等于兔子所跑过的路程,即:

1y Y =,

从而可得

x y y y Y '-==1

(2)

2、 狼与兔子速度关系的建模

在t 时刻,兔子跑过的路程为

t v y s 111== (3)

由于狼的速度是兔子的r 倍,则狼跑的路程为

112ry rs s == (4)

狼跑过的路程可以用对弧长的曲线积分知识得到,如下。

dx y s x

'+=100221 (5)

联立(2)、(4)、(5)得

)(11100

2x y y r ry dx y x

'-=='+⎰

(6)

对(6)两边求对x 的导数,化简得

rx

y y 2

1'+='' (7)

微分方程(7)式的初始条件有:

0100==x y 0100='=x y

3、 是否追上的判断

要判定狼是否追上兔子,可以通过(7)式判定。

对(7)式,

当x =0,如果计算求解得到60≥y ,则视为没有追上;

当x =0,如果计算求解得到60

模型求解:

运用Matlab 求解:

由微分方程得到其Matlab 函数

function yy=odefunlt(x,y)

%以狼在追击过程中的横坐标为自变量

yy(1,1)=y(2);

yy(2,1)=sqrt(1+y(2).^2)./(2.*x);

主程序:

tspan=100:-0.1:0.1;

y0=[0 0];

[T,Y] = ode45('odefunlt',tspan,y0);

n=size(Y,1);

disp('狼的坐标(x=0.1)')

disp(Y(n,1))

1.1.5 模型结果与分析:

运行结果:

狼的坐标(x=0.1)

62.1932

通过上面运行结果可知,狼并没有追上兔子.

1.1.6 参考文献:

微分方程模型见:数学模型引论(第二版)高等教育出版社【书号】7040101645 作者:唐焕问赫明峰

E. A. Bender, 数学模型引论,朱尧辰、徐伟宣译,科学普及出版社,1982.

南京地区工科院校数学建模与工业数学讨论班编,数学建模与实验,河海大学出版社,1996 557790 数学模型引论2006-06-16 高等教育出版社

相关文档
最新文档