数学建模追逐问题

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

实验追逐问题
L问题提出
在图8. 4中,假设正方形ABCD的四个顶点处各站人.在集时刻,四人同时以匀速v 沿顺时针方向追逐卜一个人,并且在任意时刻他们绘终保持追逐的方向是对准追逐目柿"例如、A追逐D任惫时刻A始终向着B追+可Wiil'nJJ四人的运动轨迹将按蛭旋删线状汇合于中心O.
怎样证明呢?有两种证明方法.一是分别求出四人的运动轨迹曲纯解析式"求证艸条曲线在某时刻相交[一乩力一方丛则是用计律机模拟将四人的运动轨迹H观地去示在图形上*
2.建亡模型及模拟方法
模拟步骤;
1)建立平面直箱坐标系.
2)以时间间3进行采样,在毎一时H+算每个人在卜一时t+加时的坐标.
3)不妨设屮的追遂对象是乙,在时MtlbL甲的酸标为(兀$),乙的坐
标旳仕2小) + 屮在t+ 3 时的坐标为
(”丫1 + cos^j^ +1込『虹口&1
Jt屮cos# 二一用inf 二一= J(x2-^i)2 +(v2 - Vi)2
a d ~ ~
同珅,乙在T+At时的砸标为(x2 4- vAt cos0.y2 +皿f sin &) *
4选取足够小的At,模拟到d <vAf时为止.
5)连接四人在齐时刻的位社,就得到濟求的轨迹*
连纯系统模拟的特点是首先选定一个时间步K (迪常是零间距的)i JC次按时何顺用推进*每推进一个时间步长,就对系统的活动和状态按预定的规则和冃的进行考察"分析r II 算、记录,亘到预定模拟结束条件(通常是时间条件)为止.
Matlab程序如下:
%取v=1,t=12,A,B,C,D 点的坐标分另为(0, 10), (10, 10) , (10, 0), (0, 0)
v=1;
dt=0.05;
d=20;
x=[0 0 0 10 10 10 10 0];
x(9)=x(1);
x(10)=x(2);
hold
axis('equal')
axis([0 10 0 10]);
for k=1:2:7
plot(x(k),x(k+1),'.')
end
while(d>0.1)
for i=1:2:7
d=sqrt((x(i)-x(i+1))A2+(x(i+1)-x(i+3))A2);
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),'.')
end
x(9)= x(1); x(10)= x(2);
end
hold
运行结果如下:
狼追击兔子的问题狼追击兔子问题是欧洲文艺复兴时代的著名人物达■芬奇提出的一个数学问题。

当一个兔子正在它的洞穴南面60码处觅食时,一只恶狼出现在兔子正东的100码处。

当两只动物同时发现对方以后,兔子奔向自己的洞穴,狼以快于兔子一倍的速度紧追兔子不放。

狼在追赶过程中所形成的轨迹就是追击曲线。

狼是否会在兔子跑回洞穴之前追赶上兔子?
为了研究狼是否能够追上兔子,可以先考虑求出狼追兔子形成的追击曲线,然后根据曲线来确定狼是否能够追上兔子。

可以对狼与兔子的追击过程通过计算机进行模拟,然后从模拟结果获取模拟程序如下,程序文件名sim」angtu.m:
fun cti on sim_la ngtu
%《狼兔追击问题》
% (离散模拟)
%这里没有具体考虑狼、兔的具体速度%主要通过二者的速度倍速关系及方向向量奔跑过程
Q=[0 0]; %兔子坐标
P=[100 0]; %狼坐标
PQ=Q-P; %狼兔方向向量
step =1; %模拟步长:兔子奔跑的距离, step 越小就越精确 count = 60/step; %以兔子的奔跑距离划分
PQ=PQ/norm(PQ)*step;
%归一化,单位向量 trackP=P; trackQ=Q;
for k=1:count;
P = P + 2*PQ; PQ = Q - P; trackP(1+k,:)=P; trackQ(1+k,:)=Q;
dis= sqrt(sum((P-Q)42));
plot(trackP(:,1),trackP(:,2),
'*' ,Q(1),Q(2), 'rp' ,0,60, );
pause(0.5)
end %for
dis %兔子到达窝边时,狼兔之间的距离
P %兔子到达窝边时,狼的坐标
Q %兔子到达窝边时,兔子的坐标
二)模拟程序运行结果
dis =
7.0619
1.6805
53.1410 Q =
0 60
注:如果修改程序中的step 赋值,则结果稍有不同。

程序结束后,输出狼兔的位置图如下。

通过下图可以直观的看到,当兔子回到 %2倍速度
Q = Q + step*[0 1]; %[0 1] 为兔子奔跑方向的单位方向向量
PQ=PQ/norm(PQ)*step;
%归一化,单位向量 'r+'
窝边时,狼还与兔子有一段距离,这表示兔子成功逃脱。

相关文档
最新文档