猎狗追兔子问题仿真实验报告Word文档格式.docx
- 文档编号:19555406
- 上传时间:2023-01-07
- 格式:DOCX
- 页数:11
- 大小:158.96KB
猎狗追兔子问题仿真实验报告Word文档格式.docx
《猎狗追兔子问题仿真实验报告Word文档格式.docx》由会员分享,可在线阅读,更多相关《猎狗追兔子问题仿真实验报告Word文档格式.docx(11页珍藏版)》请在冰豆网上搜索。
我们根据常识估算狗的速度不会超过100m/s。
不妨建立一个for循环,逐个尝试从8开始的速度。
直到得到一个可以使追击到时,T的纵坐标小于等于120的速度。
(2)由于狗是匀速运动,路程s即
(1)中得到的v和t的积。
(3)根据
(1)中的思路,以dt=0.1为时间步长我们可以算得每个时间点T与G的坐标。
这里为了方便描点,不再用向量表示,而是直接用坐标x,y,X,Y表示。
(4)只需要在前面的基础上加上:
①一个if条件,当距离d≤30时,狗的速度vk+1=vk·
1.1^dt,兔子的速度uk+1=uk·
0.5^dt;
②s的计算改为sk+1=sk+vdt。
程序设计:
(1)~
(2)问:
流程图:
否否
是
程序代码:
G=[-200,0];
T=[0,0];
%用向量G,T分别表示狗和兔子的坐标
d=0.1;
t=0;
dt=0.01;
forv=8:
0.05:
100
G=[-200,0];
T=[0,0];
t=0;
while(norm(G-T)>
d&
&
norm(T)<
120)
t=t+dt;
e=T-G;
D=norm(T-G);
e=e/D;
G=G+v*dt*e;
T
(2)=8*t;
end
ifT
(2)<
=120
break
end
fprintf('
狗的最小速度是:
%.2f'
v)
s=v*t;
狗跑过的距离是:
s)
第(3)问:
c=-200;
u=8;
v=17.1;
xb=[];
yb=[];
Xb=[];
Yb=[];
d=1;
dt=0.1;
x=c;
y=0;
X=0;
Y=0;
holdon
axis([-200,0,0,150])
title('
猎狗追兔子'
)
text(0,120,'
A'
text(-200,0,'
B'
text(0,0,'
O'
while(sqrt((x-X)^2+(y-Y)^2)>
d)
x=x-v*dt*x/sqrt(x^2+(u*t-y)^2);
xb=[xb,x];
y=y+v*dt*(u*t-y)/sqrt(x^2+(u*t-y)^2);
yb=[yb,y];
Y=u*t;
Yb=[Yb,Y];
xb;
yb;
Yb;
Xb=zeros(length(Yb));
plot(xb,yb,'
m*'
Xb,Yb,'
c*'
)
gtext('
猎狗'
兔子'
第(4)问:
1最小速度:
在
(1)的高亮部分后方加上:
是否
%用向量G,T分别表示狗和兔子的坐标
c=v;
u=8;
if(norm(G-T)<
=30)
v=v*1.1^dt;
u=u*0.5^dt;
T
(2)=T
(2)+u*dt;
v=c;
2模拟及跑过的距离:
同上
v=15.45;
s=0;
D=30;
m=0;
x=-200;
if(sqrt((x-X)^2+(y-Y)^2)>
D)
Y=Y+u*dt;
plot(x,y,'
r*'
X,Y,'
b*'
pause(0.1)
else
if(m==0||m==1)
u=u/2;
v=1.1*v;
m=0;
m=m+dt;
x=x-v*dt*x/sqrt(x^2+(Y+u*dt-y)^2);
y=y+v*dt*(Y+u*dt-y)/sqrt(x^2+(Y+u*dt-y)^2);
r+'
b+'
s=s+v*dt;
x,y,X,Y,t,s
结果分析和结论:
(1)~
(2)问
1
2
总结和体会:
本题其实整体上采取的一个模拟的思想。
通过一次一次迭代模拟追捕过程。
从本题速度和仿真时,我们可以发现,在单纯的计算时,直接用向量计算可以简化很多步骤。
但是在仿真时,直接描述各个坐标会更为方便。
我们要根据自己的需求选择表示方法。
2.使用计算机仿真方法求解下述问题:
在正方形的四个顶点上各有一人,如下图所示,在某一时刻,四人同时出发以匀速按顺时针方向追赶下一个人,如果他们始终保持对准目标,试确定每个人的行进路线。
以左边为y轴,下边为x轴建立平面直角坐标系。
可以得到四个人的点坐标为O(0,0),A(200,0),B(,200,200),C(0,200)。
以点O为例:
设t时刻,点O,C的坐标分别为
,点O的速度沿单位向量:
,从而得出
其他四个点也用类似的方法,即可得到所有点在每个时间点的坐标。
否
axis([0,200,0,200])
O=[0,0];
A=[200,0];
B=[200,200];
C=[0,200];
d1=norm(C-O);
d2=norm(O-A);
d3=norm(A-B);
d4=norm(B-C);
v=10;
t=0.1;
whiled1>
plot(O
(1),O
(2),'
);
plot(A
(1),A
(2),'
plot(B
(1),B
(2),'
gp'
plot(C
(1),C
(2),'
yo'
e1=C-O;
d1=norm(e1);
e2=O-A;
d2=norm(e2);
e3=A-B;
d3=norm(e3);
e4=B-C;
d4=norm(e4);
e1=e1/d1;
%表示点O的方向,下同
e2=e2/d2;
e3=e3/d3;
e4=e4/d4;
O=O+v*t*e1;
A=A+v*t*e2;
B=B+v*t*e3;
C=C+v*t*e4;
pause(0.1)
由于题中并没有给出具体数据,在设计程序时,许多标准都要自己考虑。
因为本题我们给正方形设定的边长为200,因此为了缩短模拟时间,速度设定为10,同时,由于边长较大,如果按照上题,判别精度d设为1的话,将会进入死循环。
因此,我们在设计时应当注意模拟的精度的选择。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 猎狗 兔子 问题 仿真 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)