追逐实验问题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
追逐问题实验
1. 四人追逐实验
如图2.1,在正方形ABCD 的四个顶点各有一个人。
设在初始时刻0t =时,四人同时出发匀速以v 沿顺时针走向下一个人。
如果他们始终对准下一个人为目标行进,最终结果会如何。
作出各自的运动轨迹。
解:该问题可以通过计算机模拟来实现。
这需要将时间离散化。
设时间间隔为t ∆,j 时刻表示时间.t j t =∆
设第i 个人j 时刻的位置坐标为:(,),(1,2,3,4;1,2,3,)ij ij x y i j ==
对前面3个人表达式为:
,1,,1,..c o s (1,2,3).
.s i n i j i j i j i j x x v t x i y y v t x ++=+∆⎧⎪=⎨=+∆⎪⎩ 其中 1,,221,,1,,cos ()()
i j i
j i j i j i j i j x x x x x y y +++-=-+- (1,2,3)i = 1,,221,,1,,sin ()()i j i j i j i j i j i j y y x x x y y +++-=-+- (1,2,3)
i = 对第4个人表达式为:
4,14,4,1
4,..c o s ..s i n j j j j x x v t x y y v t x ++=+∆⎧⎪⎨=+∆⎪⎩ 其中 1,4,221,4,1,4,cos ()()
j j j j j j x x
x x x y y -=-+- 1,4,221,4,1,4,sin ()()j j j j j j y y x x x y y -=-+-
Matlab 实现程序run.m 如下:
%模拟运动
n=2000;
x=zeros(4,n);
y=zeros(4,n);
dt=0.03; %时间间隔
v=30; %速度
x(1,1)=1000; y(1,1)=0; %第1个人初始坐标
x(2,1)=0; y(2,1)=0; %第2个人初始坐标
x(3,1)=0; y(3,1)=1000; %第3个人初始坐标
x(4,1)=1000; y(4,1)=1000; %第4个人初始坐标
for i=2:n
for j=1:3
d=sqrt((x(j+1,i-1)-x(j,i-1))^2+(y(j+1,i-1)-y(j,i-1))^2);
%第j+1个人和第j个人距离
cosx=(x(j+1,i-1)-x(j,i-1))/d; %求cos值
sinx=(y(j+1,i-1)-y(j,i-1))/d; %求sin值
x(j,i)=x(j,i-1)+v*dt*cosx; %求新x坐标
y(j,i)=y(j,i-1)+v*dt*sinx; %求新y坐标
end %考虑第1,2,3人运动一步
d=sqrt((x(1,i-1)-x(4,i-1))^2+(y(1,i-1)-y(4,i-1))^2);
%第4个人和第1个人距离
cosx=(x(1,i-1)-x(4,i-1))/d; %求cos值
sinx=(y(1,i-1)-y(4,i-1))/d; %求sin值
x(4,i)=x(4,i-1)+v*dt*cosx; %求第4点新x坐标
y(4,i)=y(4,i-1)+v*dt*sinx; %求第4点新y坐标
end
%plot(x,y)
for j=1:n
plot(x(1,j),y(1,j),x(2,j),y(2,j),x(3,j),y(3,j),x(4,j),y(4,j)) %作点图hold on %保持每次作图,实现各次图行迭加
end
执行结果见图1
图1 模拟结果图形
2 舰艇追击实验
某缉私舰雷达发现距d=10km 处有一艘走私船正以匀速u=8km/h 沿直线行驶,缉私舰立即以速度v=12km/h 追赶,若用雷达进行跟踪,保持船的瞬时速度方向始终指向走私船,试求缉私舰追逐路线和追上的时间。
一、理论求解
该问题采用微分方程求解。
图2 坐标示意图
如图建立坐标系,设开始时走私船位于坐标原点,沿Y 轴以u 米/秒运动,t 时刻位置为(0,.)A u t ,开始时缉私舰位于X 轴(,0)C d 处,沿走私船方向以v 米/秒运动,t 时刻位置为(,)B x y 。
直线AB 与缉私舰行走路线相切,则由几何关系有:
tan dy y ut dx x
α-== 即 .dy x y ut dx
=- 两边对x 求导有: 22.d y d t x u dx dx
=- 2
1..1dt dt ds dy dx ds dx v dx ⎛⎫==-+ ⎪⎝⎭
则 222.1d y u dy x dx v dx ⎛⎫=+ ⎪⎝⎭
令1u k v =<,dy p dx =,则22d y dp dx dx =
方程变为:
2.1dp x k p dx
=+ 初始条件为::()|0x d dy p d dx
==
= 则方程变为: 2.1()0d p k dx x p p d ⎧=⎪+⎨⎪=⎩
两边积分有: ()2ln 1ln k
x p p d ⎛⎫++= ⎪⎝⎭ 12k k dy x d p dx d x ⎡⎤⎛⎫⎛⎫==-⎢⎥ ⎪ ⎪⎝⎭⎝⎭⎢⎥⎣⎦
初始条件为:()0y d =
两边积分得到追击曲线为:
11211.2111k k d x x d k y k d k d k
+-⎡⎤⎛⎫⎛⎫=-+⎢⎥ ⎪ ⎪+--⎝⎭⎝⎭⎢⎥⎣⎦ 当0x =时,走私船坐标222...1d k d v u y k v u =
=--。
所花时间为22
.y d v t u v u ==- 将d=10,u=8,v=12有:
走私船坐标12y =km ,所花时间 1.5t =小时
二、计算机仿真实验
该问题可以通过计算机仿真来实现。
这需要将时间离散化。
设时间间隔为t ∆,j 时刻表示时间.t j t =∆
设走私船j 时刻的位置坐标为1,1,(,),(1,2,3,)j j x y j =
设缉私舰j 时刻的位置坐标为2,2,(,),(1,2,3,)j j x y j =
则走私船j 时刻运动表达式为:
1,1,0(1,2,)..j j x j y u j t =⎧⎪=⎨=∆⎪⎩
则缉私舰j 时刻运动离散表达式为:
2,12,2,12,..c o s (1,2,)..s i n j j j j x x v t x j y y v t x ++=+∆⎧⎪=⎨=+
∆⎪⎩ 其中 1,2,221,2,1,1,cos ()()
j j j j j j x x x x x y y -=-+- 1,2,221,2,1,2,sin ()()j j
j j j j y y x x x y y -=-+- (1,2
,)j =
仿真Matlab 程序:
dt=0.01;
n=151;
d=10;
u=8;
v=12;
T=d*v/(v*v-u*u); %理论时间
x1=zeros(n,1); y1=zeros(n,1);
x2=zeros(n,1); y2=zeros(n,1);
x1(1)=0; y1(1)=0; %走私船开始位置
x2(1)=d; y2(1)=0; %缉私舰开始位置
for j=1:n-1
x1(j)=0; %走私船横坐标
y1(j)=(j+1)*dt*u; %走私船纵坐标
ct=(x1(j)-x2(j))/sqrt((x1(j)-x2(j))^2+(y1(j)-y2(j))^2);
st=(y1(j)-y2(j))/sqrt((x1(j)-x2(j))^2+(y1(j)-y2(j))^2);
x2(j+1)=x2(j)+v*dt*ct; %缉私舰横坐标
y2(j+1)=y2(j)+v*dt*st; %缉私舰纵坐标
end
subplot(2,1,1)
plot(x1,y1,'b',x2,y2,'r')
title('仿真曲线');
%理论曲线
x=d:-0.01:0;
k=u/v;
subplot(2,1,2)
y=d/2*((x/d).^(1+k)/(1+k)-(x/d).^(1-k)/(1-k))+d*k/(1-k^2);
plot(x,y,'b');
title('理论曲线');
012345
678910
05
10
15
仿真曲线
012345678910
02
4
6
8
10
12
理论曲线
图3 仿真曲线与理论曲线比较图
从图形上看,仿真曲线和理论曲线十分吻合。
若画在一张图中,则几乎完全重叠。
说明仿真计算的效果十分显著。