- 371
- 0
- 约2.55千字
- 约 7页
- 2016-12-13 发布于河南
- 举报
追逐问题实验
1. 四人追逐实验
如图2.1,在正方形ABCD的四个顶点各有一个人。设在初始时刻时,四人同时出发匀速以沿顺时针走向下一个人。如果他们始终对准下一个人为目标行进,最终结果会如何。作出各自的运动轨迹。
解:该问题可以通过计算机模拟来实现。这需要将时间离散化。设时间间隔为,时刻表示时间
设第个人时刻的位置坐标为:
对前面3个人表达式为:
其中
对第4个人表达式为:
其中
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米/秒运动,时刻位置为,开始时缉私舰位于X轴处,沿走私船方向以v米/秒运动,时刻位置为。
直线AB与缉私舰行走路线相切,则由几何关系有:
即
两边对求导有:
则
令,,则
方程变为:
初始条件为::
则方程变为:
两边积分有:
初始条件为:
两边积分得到追击曲线为:
当时,走私船坐标。
所花时间为
将d=10,u=8,v=12有:
走私船坐标km,所花时间小时
计算机仿真实验
该问题可以通过计算机仿真来实现。这需要将时间离散化。设时间间隔为,时刻表示时间
设走私船时刻的位置坐标为
设缉私舰时刻的位置坐标为
则走私船时刻运动表达式为:
则缉私舰时刻运动离散表达式为:
其中
仿真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; %走私船横坐标
原创力文档

文档评论(0)