作业帮 > 字数作文 > 教育资讯

狗追兔子视频雪地

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/02 19:16:53 字数作文
狗追兔子视频雪地字数作文

篇一:狗追兔子的问题

狗追兔子的问题

摘要

技术科学中往往遇到大量的微分方程就是联系着自变量,未知函数以及他的导数的关系式。在自然科学和微分方程问题。通过对高级微分方程的分析,我们对题目里提出的问题建立了符合实际的数学模型。在模型的求解过程中应用数学软件等计算工具,编写相应的程序,解决实际问题。

关键词

微分方程 数学建模猎狗追兔

问题的提出

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

问题的假设

建立平面直角坐标系,取兔子跑时的坐标为原点(0,0),兔子位于狗的正西100米处,从而取狗的坐标为(100,0)。取任意时刻兔子的坐标为(a,b),狗的坐标为(c,d)。

模型的分析与建立

我们可以在任意时刻用Q表示兔子的坐标点,用P表示狗的坐标点。兔子的运动轨迹为直线,狗的运动轨迹为一条曲线,此曲线可看做由一些向量构成的折线。。

狗和兔子的运动轨迹如下图

变量说明

v1:兔子的速度

v1 v2:狗的速度,且v2?2

t:狗追击兔子的时间

s1:在时刻t,兔子跑过的路程,s1?s1(t)

s2:在时刻t,狗跑过的路程,s2?s2(t)

Q(x1,y1):表示在时刻t时,兔子的坐标 P(x,y):表示在时刻t时,狗的坐标 模型假设

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

模型建立

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

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

Y?y?y?(X?x)

令X=0,则截距Y?y?y?x。

此时y1?v1t。

则此时截距等于兔子所跑过的路程,则:Y?y1, 所以:Y?y1?y?y?x

?y1?v1t 在t时刻,兔子跑过的路程为s1

由于狗的速度是兔子的2倍,则狗跑的路程为s2则: ?rs1?ry1 s2??100

x?y?2dx 所以可得:?100

x?y?2dx?ry1?r(y?y?x) 对其两边求对x的导,化简得

此微分方程的初始条件为:?y?2y???rx yx?100?0y?x?100?0

要判定狗是否追上兔子, 可以通过微分方程来判定。 当x=0,如果计算求解得到y?60,则视为没有追上; 当x=0,如果计算求解得到y?60,则视为兔子被追上; 模型求解

程序设计:

#include #include void main()

{

double Y[10000],X[10000],y[10000],T=0.01,v=10,sinA,cosA;y[0]=0;Y[0]=0;X[0]=100; for(int i=0;;i++)

运行结果:

通过上面运行结果可知,狗没有追上兔子。

篇二:数学建模 猎狗追兔子问题

数学建模论文

《数学建模》(2014

春)课程期末论文

摘要

(一) 对于问题一:自然科学中存在许多变量,也有许多常量,而我们要善于通

过建立合适的模型找到这些变量之中的不变量。

猎狗追赶兔子的问题是我们在生活中常见的实例,而题目把我们生活中的普通的例

子抽象成为高等数学中微分方程的例子,通过对高阶微分方程的分析,建立微分方程模型,并用数学软件编写程序求解,得出结论,解决生活中常见的实际问题。

(二) 对于问题二:学习使用matlab进行数学模型的求解,掌握常用计算机软件的使用方法。

关键词

微分方程 导数的几?a href="http://www.zw2.cn/zhuanti/guanyuwozuowen/" target="_blank" class="keylink">我庖?猎狗追兔子 数学建模 数学软件

一、问题重述

如图1所示,有一只猎狗在B点位置,发现了一只兔子在正东北方距离它250m的地方O处,

此时兔子开始以8m/s的速度正向正西北方向,距离为150m的洞口A全速跑去. 假设猎狗在追赶兔子的时候,始终朝着兔子的方向全速奔跑。

请回答下面的问题:

⑴ 猎狗能追上兔子的最小速度是多少? ⑵ 在猎狗能追上兔子的情况下,猎狗跑过的路程 是少?

⑶ 假设猎狗在追赶过程中,当猎狗与兔子之间的

距离为30m时,兔子由于害怕导致奔跑速度每秒减半, 而狗却由于兴奋奔跑速度每秒增加0.1倍,在这种情 况下回答前面两个问题。

二、问题分析与假设

在猎狗追赶兔子的时候猎狗一直朝着兔子的方向追赶,所以可以建立平面直角坐标

系,通过导数联立起猎狗运动位移,速度和兔子的运动状态。

1.假设兔子的运动是?a href="http://www.zw2.cn/zhuanti/guanyurenzuowen/" target="_blank" class="keylink">人俚摹?/p>

2.假设猎狗的运动轨迹是一条光滑并且一阶导数存在的曲线。 3.猎狗的运动时匀速或者匀变速的。 4.猎狗运动时总是朝向兔子。

三、模型的建立及求解

3.1 符号规定

1.(x,y):猎狗或者兔子所在位置的坐标。 2. t:从开始到问题结束经过的时间。 3. a:猎狗奔跑的路程。 4. v:猎狗的奔跑速度。 3.2 模型一的建立与求解

猎狗能够抓到兔子的必要条件:猎狗的运动轨迹在OA要有交点

以OA为y轴,以OB为x轴建立坐标系,则由图有

N

O(0,0),A(0,150),B(250,0),兔子的初始位置0W 点,而猎狗初始位置是B点,t(s)后猎狗到达了C(x,y),而兔子到达了D(0,8t),则有CD的连线是猎狗运动轨迹的一条切线,由导数的几何意义有

dyy?8t

?dxx

da

?

vdt

da?三式联立消去t,得到;

d2y8x2?dxv设:

8q?

v

若猎狗可以追上兔子则有当兔子在OA,猎狗在OB之间运动时此方程有解,设:

dyd2ydp

??p2

dx dx dx

得到:

(来自:WwW.smhaida.Com 海达 范文 网:狗追兔子视频雪地)

dx

?qx得到:

dp

p(250?)

xq

p??()

250

250q

p???()

x

两式联立相加得到:

dy1xq250q

?[()?()]dx2250x

1.如果q=1即v=8 m/s 得到

y(250)?0

x?0,y?? 所以此情况无交点,所以v=8m/s猎狗无法追上兔子; 2.如果q<1即v>8m/s 得到

1x2?250xy?[?250ln()]2500250

250q

1?q2 此情况有交点,所以有可能能够追上兔子,如果要追上兔子需要y<=150;

v??8q??1

解得到:

/s

所以这种情况下能够追上的最小速度是

. x?0,y?

3.如果q>1 利用上式得到x?0,y??,所以这种情况不能追上兔子。

2501xq1250q?12q

y?[()?()?2]2q?12501?qx1?q

3.3 模型二的建立与求解

如果猎狗可以追上兔子那么猎狗的轨迹和兔子的轨迹必相交与一点,此时兔子的路

y?

5qy5q

t??

1?q2,所用放的时间88(1?q2),那么猎狗的的路程a=tv;

带入数值解得

3.4 模型三的建立与求解

篇三:狗追兔子问题

理论力学课程小论文

狗追兔子问题

2011011576 力1 陈梓钧

目标:1找到简化条件,使得狗的轨迹方程有解析解;

2 寻找在简化条件下,狗一定能抓住兔子的“抓获区域”; 3 研究当狗在“抓获区域”内时,兔子的规避动作;

4 讨论狗有提前量的条件下,问题能否求解,并寻找最佳提前量。

一、 在简化模型下寻找狗轨迹方程的解析解

简化假设:以兔子的起点为原点,兔子与窝的连线为y轴建立坐标系,窝的位置为(0,1)。兔子与狗均全速奔跑,速度分别为a与b,a

dydx

为狗满足的微分积分方程组

xdy x0 1+ dx (?dx)=bt (2)

化简得

=?

at?yx

(1)

dyaxdy2

x=y?y0+ 1+ dx x0两边求导得

d2ydx2

1

c11+y0

a

dy

=b 1+ dx(3)

aa

通过变量代换,解此微分方程,可得

y=2

x

1+

?

c1?11?

ax

1?

+c2 (4) x0

1?

aax0

=2 c1x0?c1

c11+

1

?1

y0=2

1

x0

1+

a?

c1?11?

x0 +c2

(5)

其中(x0,y0)为狗的起始位置。求解的步骤在附页中。 实例:令(x0,y0)=(1,0)用MATLAB的ode45命令, 得到曲线如图1。其中绿色线为ode45所解 出的数值解,蓝色线为(4)得到的解析解。

图1

图2

分别令a/b=1/3(红),1/2(绿),1/1.5(蓝)得到图2 令(x0,y0)=(1,1),(0,1.5),(-0.3,0.7),a/b=1/2 可得如图3所示各曲线。

图3

二、 寻找一定能抓住兔子的范围

在(一)的假设下考虑。临界情况为狗在洞口抓住兔子,所以不妨反向考虑,设兔子和狗从洞口夹θ角同时出发,仍满足速度约束条件。

dydx

方程组变为:

xdy 0 1+ dxdx=bt (7)同样可以解出:

dydx

=?

1?y ?at

x

(6)

=2[c1x?c1

1

ab

?1?b

x] ( 8 )

a

刚出发时x=0:

limx→0+dx∞

故θ=0,狗一定沿y轴抓住兔子。 将(7)更换为等价条件: dt + dt =b2( 9 ) 由于

dx? ==b[]

dx2

dy2

dy

dy?

==b[ 设f t = at?1+y , 结合(9)可得:

????dx????d at?1+y

???? =+

1dx2dy2???? = + +??=b+

两边对t积分得

??????

令t=0,x=0,y=1,可得c=?

????

??

=bt+??+??

化简得(具体步骤见附页):

??2??2???2

+

(???1)2??2

=??

2

(10)

这是一个随时间反演不断扩大的椭圆,中心是洞,兔子在椭圆焦点出发,狗若在椭圆内,则可以追上兔子。如图4所示。

图5 图4

进一步讨论:当狗位于“捕获区间”内,如果兔子跑折线,能否逃脱追捕? 根据MATLAB的数值模拟结果,在某些情况下的确可以逃脱追捕。

不妨作进一步简化,假设兔子只能在途中折转一次,折转不需要时间。如图5,随着兔子跑动,临界椭圆一边偏转,一边收缩,可能可以让狗离开椭圆内部。临界情况如图6,由于轨迹方程已知,狗的坐标x(t),y(t)已知,而动椭圆方程也是关于t的单值函数。

参数方程具体的解法见附页。(a=1,b=2)

3(?????) 3(?????2)23 ?????2 3(?????2)22?6?6 xt= ?+(+??1 + ??()+??1

1111

1

12

??1 3(?????2)3(?????2)23 ?????2 3(?????2)2

?6?6 ?? ?? = ?+ ()+??1 + ?? (+??1

1111

?

13(?????2)3(?????2)23 ?????2 3(?????2)2

{ ?+ (+??1?6 + ?? ()+??1?6 } 11111

1

3

13

13

13

3

作坐标变换

???????? ???????????= ?? ?????????? ??????????

其中θ(t)为椭圆的转角,可以把斜椭圆?0 ??,?? =??2

化为x-y平面上的椭圆φ0 ??,?? =??0(??)

??=?? ??

??=?? ?? 联立

φ0 ??,?? =??0 ??

消去x,y后得到的是关于t的方程,当系数条件满足有 实根时可得t0>0。于是,只要兔子在此处折转朝向洞口跑, 即可逃脱(但并不是最安全的方案)。

??0=??(????)由此确定了折转点

??0=??(????)

由有唯一实根时所满足的系数条件,可得到一个关于c1,c2和初始偏转角Ψ的方程H(c1,c2,Ψ)=0,再令此方程关于Ψ有唯一解,可得另一个仅关于c1,c2的方程。由于c1,c2是初始条件X0,y0的函数,可得到狗的临界区间φ1 ??,?? =??1(??)。这是解析解。

以上过程称为第一次迭代。

6

图7

用FORTRAN计算得φ1 ??,?? =??1(??)如图7中内部边界(似乎是个8边形),意义为: 在该边界内,即便兔子折转1次,也不能逃脱追捕;而在两边界之间,不折转就必被追上,若折转1次则可能逃脱追捕。

如图8,在u-v系内,在上面折转一次也必被抓住的情况下,狗必然落在椭圆内(以下称椭圆为C0, 零级边界;依次可定义C1,一级边界)。如此,在倾转角度后,图形的形态和??=??(??)第一次迭代完全相同。写出u-v坐标系下的狗的轨迹参数方程 和φ1 ??,?? =??1(??),

??=??(??)??1=??(??1)

。用坐标逆变换可以返回 ??1=??(??1) 联立之,解出t1,可以得到第二转折点

??1=??(??1)

??1=??(??1)

以上过程称为第二次迭代。 注意到第1、2次迭代的方程已经不是二次方程,故不能用判别式确定临界区间的边界。FORTRAN中用蒙特卡洛法粗略确定边界如上图所示,具体程序代码见附件。

在上述两步中,理论上已经可以确定了两个转折点的坐标。如果图8中狗还落在边界C1内,那么兔子即便转折2次也不能逃脱追捕。

继续以上迭代过程,得到φ?? ??,?? =????(??) (n=1,2,3….)和逃脱边界Cn,如图9。

这个函数列不能收敛于线段。首先,曲线必然包括兔子和兔子洞在内,所以若收敛,则必收敛于线段,那么狗在全平面上任何一点都不可追上兔子,这和实际情况矛盾。

lim??→∞φ?? ??,?? =c(t)

如果该极限存在,则可确定一个区域,在此区域外,兔子一定能通过跑某种模式的折线逃脱追捕。(由于以上条件都不是最优解,在区域内未必不能逃脱追捕)

篇四:MATLAB实验报告(猎狗追兔子的问题)

MATLAB实验报告

电气14班 张程 2110401120

2012年4月12日星期四

一.实验目的

1.学会用MATLAB软件求解微分方程的初值问题。

2.学会根据实际问题建立简单微分方程数学模型。

3.了解级计算机数据仿真、数据模拟的基本方法。

二.实验题目

有一只猎狗在B处发现了一只兔子在

正东北方距离它200米的地方O处,此

时兔子开始以8米每秒的速度向正西北

方向距离为120米的洞口A全速跑去,

假设猎狗在追赶兔子时始终朝着兔子

的方向全速奔跑。

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

(2) 选取猎狗的速度分别为15、18米每秒,计算猎狗追

上兔子是所跑过的路程和所用的时间。

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

三.实验过程

(1

)将所有路径转化入第一象限,从而转化为教材中缉私

艇和走私船的问题。

兔子起始位置为(0,0),奔跑方向为

始位置为(200,0)。

兔子刚好被追上时跑的距离Y=CR/1-R2。(R为兔子与猎狗速度之比)

时间T=CR/A(1-R2)=BC/(B2-A2)。

当兔子进洞的时候刚好被追到,这种情况下猎狗所需速度最小。将C=200,Y=120带入方程并利用

MATLAB求解: Y轴正方向,猎狗起

所以最小速度为17.08m/s。

(2)程序如下:

运行结果:t =18.2000s =273.0000

将程序中b改为18运行结果为:t =13.6000s =244.8000 兔子跑过距离分别为145.6000、108.8000,所以第一次兔子已经进洞,猎狗追不上。

(3)

下图分别为猎狗速度为18m/s、15m/s时的模拟图。

篇五:数学实验分析--猎狗追兔子

西安交通大学实验报告

课程_ 数学实验MATLAB _ 实验名称__猎狗追兔子___

一. 实验题目

有一只猎狗在B点位置发现了一只兔子在正东北方距离它200米的地方O处,此时兔子开始以8米/秒的速度向正西北方距离为120米的洞口A全速跑去,假设猎狗在追赶兔子的时候始终朝着兔子的方向全速奔跑,用计算机仿真法等多种方法完成下面的实验: (1) 问猎狗能追上兔子的最小速度是多少?

(2) 在猎狗能追上兔子的情况下,猎狗跑过的路程是多少? (3) 画出猎狗追赶兔子奔跑的曲线图。

(4) 假设在追赶过程中,当猎狗与兔子之间的距离为30米时,兔子由于害

怕,奔跑的速度每秒减半,而猎狗却由于兴奋奔跑的速度每秒增加0.1倍,在这种情况下,再按前面的(1)—(3)完成实验任务。

二. 问题的分析

1.问题(1)~(3)可以通过看做一个整体的问题,结果可通过一次程序运行得到,为此要使用MATLAB动态仿真法进行实验。

显然可以将事件坐标转换到第一象限内,设兔子初始位置O为(0,0),运动方向为沿x轴正方向,速度为a。洞口A坐标为(0,120)。猎狗初始位置B为(200,0),运动速度为b。

时兔子坐标为(0,tzy),猎狗坐标为(lgx,lgy)。

追赶的方向可以用方向余弦表示:

, ,

取时间步长为Δt,则在时刻t+Δt时,猎狗位置可表示为

仿真算法:

第一步:设置时间步长为Δt,速度a,b,猎狗跑过的路程s初始化为0,初始位置; 第二步:

由(

猎狗与兔子的位置坐标计算二者

在)和(

):

时的坐标

并在图中标出改点。

第三步:计算猎狗与兔子之间的距离

如果小于事先设定的距离(就是认为猎狗追上兔子之间的距离),则退出循环,

否则让时间产生一个步长,返回第二步继续进行下一次循环。 第四步:当循环成功退出后,

为兔子被捉时跑过的距离,通过改变猎狗的

为猎狗跑

速度b使其等于120,此时的b即为猎狗能追上兔子的最小速度,

过的路程,由第二步中所标出的点构成的图即为够追兔子奔跑的曲线图。

2.问题(4

)的分析过程与前三问类似,只需在第三步中增加一个对

的判

断,

当小于等于30米时,Δt每增加一秒分别对a、b进行一次修正,即a=a/2,

b=1.1*b。

三.程序设计的流程

1.取时间步长为0.1,当猎狗与兔子相距小于等于0.3米时视为追上。 问题(1)~(3)的程序(此为对猎狗速度b进行多次修正后的程序): a=8; b=17; d=0.3; dt=0.1;

t=0; s=0;

lgx=200;lgy=0; tzx=0;tzy=0; hold on

axis([0,200,0,150]) title('猎狗追兔子') text(0,120,'洞口A') text(200,0,'B') text(0,0,'O')

while (sqrt((lgx-tzx)^2+(lgy-tzy)^2)>d) t=t+dt;

lgx=lgx-b*dt*lgx/sqrt(lgx^2+(a*t-lgy)^2); lgy=lgy+b*dt*(a*t-lgy)/sqrt(lgx^2+(a*t-lgy)^2); tzy=a*t;

s=s+b*dt;

plot(lgx,lgy,'m*',tzx,tzy,'c*') pause(0.1) end

gtext('猎狗') gtext('兔子')

lgx,lgy,tzx,tzy,t,s

2.问题(4)的程序(此为对猎狗速度b进行多次修正后的程序); a=8; b=15.4; dt=0.1;t=0; s=0;

D=30;d=1; e=0;

lgx=200;lgy=0;tzx=0;tzy=0; hold on

axis([0,200,0,130]) title('猎狗追兔子') text(0,120,'洞口A') text(200,0,'B') text(0,0,'O')

while (sqrt((lgx-tzx)^2+(lgy-tzy)^2)>d) if(sqrt((lgx-tzx)^2+(lgy-tzy)^2)>D) t=t+dt;

lgx=lgx-b*dt*lgx/sqrt(lgx^2+(a*t-lgy)^2); lgy=lgy+b*dt*(a*t-lgy)/sqrt(lgx^2+(a*t-lgy)^2); tzy=tzy+a*dt;

plot(lgx,lgy,'r*',tzx,tzy,'b*') pause(0.1) else t=t+dt; if(e==0||e==1) a=a/2; b=1.1*b; e=0; end e=e+dt;

lgx=lgx-b*dt*lgx/sqrt(lgx^2+(tzy+a*dt-lgy)^2);

lgy=lgy+b*dt*(tzy+a*dt-lgy)/sqrt(lgx^2+(tzy+a*dt-lgy)^2); tzy=tzy+a*dt;

plot(lgx,lgy,'r+',tzx,tzy,'b+') pause(0.1) end s=s+b*dt; end

gtext('猎狗') gtext('兔子')

lgx,lgy,tzx,tzy,t,s

四.上机实验的结果与结论

1.问题(1)~(3): lgx =0.0110 lgy =118.9382 tzx = 0 tzy =119.2000 t =14.9000

字数作文