数学建模_狼途追击问题

上传人:飞*** 文档编号:32581044 上传时间:2018-02-11 格式:DOCX 页数:10 大小:202.89KB
返回 下载 相关 举报
数学建模_狼途追击问题_第1页
第1页 / 共10页
数学建模_狼途追击问题_第2页
第2页 / 共10页
数学建模_狼途追击问题_第3页
第3页 / 共10页
数学建模_狼途追击问题_第4页
第4页 / 共10页
数学建模_狼途追击问题_第5页
第5页 / 共10页
点击查看更多>>
资源描述

《数学建模_狼途追击问题》由会员分享,可在线阅读,更多相关《数学建模_狼途追击问题(10页珍藏版)》请在金锄头文库上搜索。

1、数学建模公选课课程论文题 目 追踪问题姓 名学 号学 院班 级任课教师1基于追踪问题的数学建模与求解摘要数学建模可以使抽象的问题用数学符号和语言清楚的表达出来。本问题讨论的是三种典型的追击类问题,建立微分关系模型来解决实际问题。常微分方程在解决与变化率相关的实际问题中有着相当广泛的应用。一般来说,用微分方程解决实际问题的步骤大致有:(1)根据实际问题作出必要的假设与简化,包括忽略某些次要因素,明确刻画实际问题变化规律的关键变量作为未知函数。建立微分方程的数学模型,并根据实际问题给出定解条件。 (2)利用软件 MATLAB 求解微分方程模型。(3)对微分方程数学模型的解析解或数值解进行分析。以第

2、一道问题为例,对于狼追兔追击模型可以通过高阶微分方程建模,依据狼和兔子的速度大小以及方向的关系,建立二阶微分方程,利用matlab 编程求解微分方程后进行判断,也可以利用 matlab 绘制狼追击兔子的奔袭线路,通过绘制的奔袭路线判断狼是否能追上兔子。关键字: 追踪,微分方程,matlab一、 问题的提出(1)一只兔子在O点处,它的洞穴在正北20米的B点处,一只狼位于兔子正东33米的A点处。此刻,兔子迅速向洞口奔跑,而狼紧盯着兔子追击。已知狼的速度是兔子速度的2倍,问:当兔子到达洞口前是否会被狼逮住?画出狼追击兔子的追逐曲线。(2)在5角星的5个顶点A、B、C、D、E处各有一人,顶点距5角星的

3、中心O的距离为1个单位。在某一时刻5人同时出发,以匀速 v 走向顺时针方向的下一人,且他们的方向始终保持对准目标。请画出每个人的行走轨迹。(3)条件同(2)。如果5人的速率分别为1 v、1.1 v、1.2 v、1.3 v和1.4 v,在这种情况下每个人的行走轨迹如何,他们在何处汇集?二、问题的分析由题意可知,目的就是通过建立一种模型,来判断会不会相遇问题。问题一中,狼追兔问题就是在简化实际问题的基础上建立模型,依据狼和兔子的速度大小以及方向的关系,建立二阶微分方程,利用matlab编程求解微分方程后进行判断,也可以利用matlab绘制狼追击兔子的奔袭线路,通过绘制的奔袭路线判断狼是否能追上兔子

4、。3问题二:这是一个闭环追击问题,模拟其追击过程就是将整个追击过程离散化,即以dt为时间间隔,五个人分别一步一步的追击前边的人,持续直到任意两个人的距离足够小为止。这时就可以根据条件和追击规律: 每个人的位置坐标可以根据向量的表示方法表示,而每个人运动的方向则可以通过被追击的人的位置向量(x1,x2)与追击人的位置向量(x3,x4)的差(x1-x3,x2-x4)的方向来表示,利用循环语句,从而使得|(x1-x3,x2-x4) |达到足够小。利用matlab将上述想法进行编程,从而得到整个过程的图像,即五个人的五条轨迹。问题三, 在问题二的基础上,将原先的速度相等改变成新的速度,即可求出相应的五

5、条轨迹。三、模型的建立与求解3.1 问题一(1)一只兔子在O点处,它的洞穴在正北20米的B点处,一只狼位于兔子正东33米的A点处。此刻,兔子迅速向洞口奔跑,而狼紧盯着兔子追击。已知狼的速度是兔子速度的2倍,问:当兔子到达洞口前是否会被狼逮住?画出狼追击兔子的追逐曲线。3.1.1 模型假设:兔子作匀速直线远动,狼作匀速运动,且运动方向始终指向兔子。3.1.2 定义符号说明:兔子的速度(单位:m/s)1v:狼与兔子速度的倍数;r:狼的速度(单位:m/s) ,显然有2 12rv:狼追击兔子的时刻( t=0 时,表示狼开始追兔子的时刻)t:在时刻 t,兔子跑过的路程(单位:m) ,1s )(1ts:在

6、时刻 t,狼跑过的路程(单位:m) ,2 2N :表示在时刻 t 时,兔子的坐标),(1yxM(X,Y):表示在时刻 t 时,狼子的坐标3.1.3 模型建立(1)建立直角坐标系。以兔子初始地点 O(即 t=0 时刻兔子所在地)为原点,以兔子运动方向为y 轴正方向, 以 t=0 时刻狼和兔子所在直线为 x 轴,正方向从兔子指向狼,那么 t=0 时刻,兔子坐标 O(0,0) ,狼坐标 A(33,0),洞口坐标 B(0,20) 。4(2) 建立模型设狼所在轨道曲线为 y(x),速度 总是沿着追线的切线方向指向兔子。2v1、追击方向的讨论设时刻 t,狼所在位置 M( X, Y)点过狼的轨迹处的切线方向

7、在 y 轴上的截距为 。此时截距等于兔子所跑过的路程,即兔子坐标 N(0, ),1y 1tvy1则切线方程为(1))(-XxY在(1)中,令 x0,则截距 。又 y=y1y从而可得 tv1即 狼的轨迹处的切线方程为 (2)x2、狼与兔子速度关系的建模在 t 时刻,兔子跑过的路程为(3)tvys11由于狼的速度是兔子的 r 倍,则狼跑的路程为(4)12rys狼跑过的路程可以用对弧长的曲线积分知识得到,如下。(5)dx3x22联立(2) 、 (4) 、 (5)得(6))(1102yryx 对(6)两边求对 x 的导数,化简,并将 r=2 带入,得(7)xy2微分方程(7)式的初始条件有: 03xy

8、53、是否追上的判断要判定狼是否追上兔子,可以通过(7)式判定。对(7)式,当 x0,如果计算求解得到 ,则视为没有追上;20y当 x0,如果计算求解得到 ,则视为兔子被追上;3.1.4 模型求解根据微分方程而编制的 Matlab 代码及其运行结果:clear;y=dsolve(D2y=sqrt(1+Dy2)/(2*x),y(33)=0,Dy(33)=0,x)y =1/99*33(1/2)*(-99+x)*x(1/2)+22所以狼的轨迹方程为:y=1/99*33(1/2)*(-99+x)*x(1/2)+223.1.5 模型结果与分析1.由狼的轨迹方程可知:当 x=0 时,y=2220 故狼并没

9、有追上兔子。2通过 matlab 画出狼的轨迹,来判断狼有没有追上兔子。Matlab 代码及运算结果如下:x=0:1:33;y=1/99*33(1/2)*(-99+x).*x.(1/2)+22;plot(x,y)程序结束后,输出狼兔的位置如上图所示。通过上图可以直观的看到,当兔子回到窝边时,狼还与兔子有一段距离,这表示兔子成功逃脱。63.2 问题二(2)在5角星的5个顶点A、B、C、D、E处各有一人,顶点距5角星的中心O的距离为1个单位。在某一时刻5人同时出发,以匀速 v 走向顺时针方向的下一人,且他们的方向始终保持对准目标。请画出每个人的行走轨迹。3.2.1模型假设:1.五个人分别是A,B,

10、C,D,E2.初始状态时A位于五角星的正上方,B,C,D,E五个人沿顺时针位于五角星的其他四个顶点。3.A,B,C,D,E五个人的速度均为1;3.2.2 定义符号说明:v:速度t: 时间dt:时间微元。d :任意两点间的距离。x:用于存放 A,B,C,D,E 五个人的初始坐标。3.2.3 模型建立:(1)将五角星正放,以五角星中心 O 为原点,以 OA 为 y 轴,以垂直于 OA的直线为 x 轴,建立平面直角坐标系。如图所示。分别求出 ABCDE 各点的坐标。即:A(0,1) ,B(cos(pi/10),sin(pi/10)) ,C(cos(3*pi/10),-sin(3*pi/10)) ,D

11、(-cos(3*pi/10),-sin(3*pi/10)),E(-cos(pi/10),sin(pi/10))(2)以时间间隔 dt(足够小的数)进行采样,在每一时刻 t,计算每个人在下一时刻 t+dt 的坐标。(3)以 A 在追 B 为例,在时刻 t 时,A 的坐标为(x1,x2),B 的坐标为(x3,x4),则 ,t+dt 时刻 A 的坐标为=(13)2+(24)2(x1+vdt(x3-x1)/d,x2+vdt(x4-x2)/d)。(4)同理,对于 BCDE 也可以类似求得相应的坐标。(5)当 d0.02 时,重复(2)(3)(4)步,直至 d 的值足够小。(6)光滑模拟五个人在不同时刻的

12、位置,便可得到相应的轨迹。73.2.4 利用 matlab 求解Matlab 程序如下:%取 v=1,t=12,A,B,C,D,E 点的坐标分另为(0,1) , (cos(pi/10),sin(pi/10)) ,(cos(3*pi/10),-sin(3*pi/10)) , (-cos(3*pi/10),-sin(3*pi/10)), (-cos(pi/10),sin(pi/10))v=1;dt=0.02;d=20;x=0 1 cos(pi/10) sin(pi/10) cos(3*pi/10) -sin(3*pi/10) -cos(3*pi/10) -sin(3*pi/10) -cos(pi/

13、10) sin(pi/10);x(11)=x(1);x(12)=x(2);holdaxis(-1,1, -1,1);for k=1:2:9plot(x(k),x(k+1),. )endwhile(d0.02)for i=1:2:9d=sqrt(x(i)-x(i+2)2+(x(i+1)-x(i+3)2);x(i)=x(i)+v*dt*(x(i+2)-x(i)/d;x(i+1)=x(i+1)+v*dt*(x(i+3)-x(i+1)/d;plot(x(i),x(i+1),.)endx(11)= x(1);x(12)= x(2);end8hold3.1.5 模型结果与分析运行后的结果如下图所示:容易知

14、道,五个人最后交于一点。问题三条件同(2)。如果5人的速率分别为1 v、1.1 v、1.2 v、1.3 v和1.4 v,在这种情况下每个人的行走轨迹如何,他们在何处汇集?3.3.1 模型假设:1.五个人分别是A,B,C,D,E2.初始状态时A位于五角星的正上方,B,C,D,E五个人沿顺时针位于五角星的其他四个顶点。3.A,B,C,D,E五个人的速度分别为1、1.1、1.2、1.3、1.43.3.2 定义符号说明:v:速度t: 时间dt:时间微元。d :任意两点间的距离。x:用于存放 A,B,C,D,E 五个人的初始坐标。v:用于存放 A,B,C,D,E 五个人的速度。3.3.3 模型建立:9(

15、1)将五角星正放,以五角星中心 O 为原点,以 OA 为 y 轴,以垂直于 OA的直线为 x 轴,建立平面直角坐标系。如图所示。分别求出 ABCDE 各点的坐标。即:A(0,1) ,B(cos(pi/10),sin(pi/10)) ,C(cos(3*pi/10),-sin(3*pi/10)) ,D(-cos(3*pi/10),-sin(3*pi/10)),E(-cos(pi/10),sin(pi/10))(2)以时间间隔 dt(足够小的数)进行采样,在每一时刻 t,计算每个人在下一时刻 t+dt 的坐标。(3)以 A 在追 B 为例,在时刻 t 时,A 的坐标为(x1,x2),B 的坐标为(x3,x4),则 ,t+dt 时刻 A 的坐标为(x1+v(A)=(13)2+(24)2dt(x3-x1)/d,x2+v(A)dt(x4-x2)/d)。(4)同理,对于 BCDE 也可以类似求得相应的坐标。(5)当 d0.02 时,重复(2)(3)(4)步,直至 d 的值足够小。(6)光滑模拟五个人在不同时刻的位置,便可得到相应的轨迹。3.3.4 利用 matlab 求解Matlab 程序如下:v=1 1.1 1.2 1.3 1.4;dt=0.02;d=20;x=0 1 cos(pi/10) sin(pi/10) cos(3*pi/10) -sin(3*pi/10) -cos(

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 教育/培训

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号