您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 追逐问题实验MATLAB
追逐问题实验1.四人追逐实验如图2.1,在正方形ABCD的四个顶点各有一个人。设在初始时刻0t时,四人同时出发匀速以v沿顺时针走向下一个人。如果他们始终对准下一个人为目标行进,最终结果会如何。作出各自的运动轨迹。解:该问题可以通过计算机模拟来实现。这需要将时间离散化。设时间间隔为t,j时刻表示时间.tjt设第i个人j时刻的位置坐标为:(,),(1,2,3,4;1,2,3,)ijijxyij对前面3个人表达式为:,1,,1,..cos(1,2,3)..sinijijijijxxvtxiyyvtx其中1,,221,,1,,cos()()ijijijijijijxxxxxyy(1,2,3)i1,,221,,1,,sin()()ijijijijijijyyxxxyy(1,2,3)i对第4个人表达式为:4,14,4,14,..cos..sinjjjjxxvtxyyvtx其中1,4,221,4,1,4,cos()()jjjjjjxxxxxyy1,4,221,4,1,4,sin()()jjjjjjyyxxxyyMatlab实现程序run.m如下:%模拟运动n=240;x=zeros(4,n);y=zeros(4,n);dt=0.05;%时间间隔v=10;%速度x(1,1)=100;y(1,1)=0;%第1个人初始坐标x(2,1)=0;y(2,1)=0;%第2个人初始坐标x(3,1)=0;y(3,1)=100;%第3个人初始坐标x(4,1)=100;y(4,1)=100;%第4个人初始坐标fori=2:nforj=1:3d=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)forj=1:nplot(x(1,j),y(1,j),x(2,j),y(2,j),x(3,j),y(3,j),x(4,j),y(4,j))%作点图holdon%保持每次作图,实现各次图行迭加end执行结果见图1图1模拟结果图形2舰艇追击实验某缉私舰雷达发现距d=10km处有一艘走私船正以匀速u=8km/h沿直线行驶,缉私舰立即以速度v=12km/h追赶,若用雷达进行跟踪,保持船的瞬时速度方向始终指向走私船,试求缉私舰追逐路线和追上的时间。一、理论求解该问题采用微分方程求解。图2坐标示意图如图建立坐标系,设开始时走私船位于坐标原点,沿Y轴以u米/秒运动,t时刻位置为(0,.)Aut,开始时缉私舰位于X轴(,0)Cd处,沿走私船方向以v米/秒运动,t时刻位置为(,)Bxy。直线AB与缉私舰行走路线相切,则由几何关系有:tandyyutdxx即.dyxyutdx两边对x求导有:22.dydtxudxdx21..1dtdtdsdydxdsdxvdx则222.1dyudyxdxvdx令1ukv,dypdx,则22dydpdxdx方程变为:2.1dpxkpdx初始条件为::()|0xddypddx则方程变为:2.1()0dpkdxxppd两边积分有:2ln1lnkxppd12kkdyxdpdxdx初始条件为:()0yd两边积分得到追击曲线为:11211.2111kkdxxdkykdkdk当0x时,走私船坐标222...1dkdvuykvu。所花时间为22.ydvtuvu将d=10,u=8,v=12有:走私船坐标12ykm,所花时间1.5t小时二、计算机仿真实验该问题可以通过计算机仿真来实现。这需要将时间离散化。设时间间隔为t,j时刻表示时间.tjt设走私船j时刻的位置坐标为1,1,(,),(1,2,3,)jjxyj设缉私舰j时刻的位置坐标为2,2,(,),(1,2,3,)jjxyj则走私船j时刻运动表达式为:1,1,0(1,2,)..jjxjyujt则缉私舰j时刻运动离散表达式为:2,12,2,12,..cos(1,2,)..sinjjjjxxvtxjyyvtx其中1,2,221,2,1,1,cos()()jjjjjjxxxxxyy1,2,221,2,1,2,sin()()jjjjjjyyxxxyy(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;%缉私舰开始位置forj=1:n-1x1(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;%缉私舰纵坐标endsubplot(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('理论曲线');012345678910051015仿真曲线012345678910024681012理论曲线图3仿真曲线与理论曲线比较图从图形上看,仿真曲线和理论曲线十分吻合。若画在一张图中,则几乎完全重叠。说明仿真计算的效果十分显著。
本文标题:追逐问题实验MATLAB
链接地址:https://www.777doc.com/doc-5120357 .html