2013082 9猎狗追击问题

2013082 9猎狗追击问题

ID:37853601

大小:208.50 KB

页数:10页

时间:2019-06-01

2013082 9猎狗追击问题_第1页
2013082 9猎狗追击问题_第2页
2013082 9猎狗追击问题_第3页
2013082 9猎狗追击问题_第4页
2013082 9猎狗追击问题_第5页
资源描述:

《2013082 9猎狗追击问题》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、猎狗追击问题邹奥东3110101152问题描述:一只兔子从原点以速度匀速向轴正方向运动,在外部有一只猎狗在追击兔子,猎狗的追击速度是匀速的,在坐标为的地方是兔子的洞穴所在地,兔子只要跑到了洞穴就算安全。第一问是要求画出追击轨迹,第二问是要求画出可以追到兔子的猎狗的出发地的集合(理论上面验证是一个椭圆,而事实画出来的也是)。第一问问题解决:1.这是一个追击问题:假如当猎狗的初始出发地点是,理论上面解出来的猎狗的运动轨迹是:公式1。没错,这个方程极其复杂,而这还只是一个区域上取定的一个初始出发点的解答,而我们要

2、解出这个区域上理论上所有解的样子是几乎不可能的。所以我们要采用计算方法中的欧拉方法来近似模拟猎狗的运动。2.欧拉方法的描述:我们把时间划分为一段一段非常小的时间段,那么在的时间内猎狗的运动可以近似的看作是匀速直线运动了一小段,假设在现在这个时刻兔子的位置坐标为,狗的位置坐标是,那么在时间过后狗的位置坐标变成了。(其中,公式2)那么我们把总时间都分成这么一小段一小段时间后并且如此处理狗的运动坐标,那么轨迹就可以很好的模拟出来。程序代码:x1=0;y1=0;%兔子的初始位置;x2=15;y2=7;b=19;%狗

3、的初始位置;XX1=[x1;y1];%存储兔子的初始位置;XX2=[x2;y2];%存储狗的初始位置;delt_t=0.005;a=0.7;%兔子和狗的速度比为a;w=22;%狗的速度为22;i=0;n=350;fori=0:nx1=0;t=i*delt_t;if(((x1-x2)^2+(y1-y2)^2<0.01)

4、

5、(y1-b)^2<0.01)break;endy1=a*w*t;%兔子的瞬时位置d=sqrt((x1-x2)^2+(y1-y2)^2);x2=x2+w*delt_t*(x1-x2)/d;y2

6、=y2+w*delt_t*(y1-y2)/d;%狗的瞬时位置XX1=[XX1,[x1;y1]];XX2=[XX2,[x2;y2]];%不断更新存储位置plot(XX1(1,:),XX1(2,:),XX2(1,:),XX2(2,:),'linewidth',2);axis([-20,40,0,35]);%设置观摩所坐标轴位置pause(0.02)%形成动态图i=i+1;enddisp('总时间')i*delt_t程序截图(是动态过程):图表1图表2第二问问题解答:无需多说的是第二问的解答肯定是在第一问的基础上

7、面进行,第一问已经很好的模拟出来了定常猎狗初始位置的情况下的追击曲线。那么我们第二只要在一个区域内充分的选取到所有点来做初始位置并且判断是否能够到达即可。然后如果可以达到,我们就在图画中标出这点。理论上的边界是:。我们用数值方法和理论值做比较的结果是:程序代码:x1=0;y1=0;w=22;p=100;%ÍÃ×ӵijõʼλÖã»x2=15;y2=7;b=5;a=0.7;n=20;%¹·µÄ³õʼλÖã»delt_t=b/(p*a*w);fore=-2*b:0.2:2*bforj=-2*b:0.

8、2:4*bx20=e;x2=x20;y20=j;y2=y20;w=22;%¹·µÄËÙ¶ÈΪ5£»k=1;fori=0:px1=0;t=i*delt_t;y1=a*w*t;%ÍÃ×Ӵ˿̵ÄλÖã»d=sqrt((x1-x2)^2+(y1-y2)^2);x2=x2+w*delt_t*(x1-x2)/d;y2=y2+w*delt_t*(y1-y2)/d;%¹·´Ë¿ÌµÄλÖã»if(((x1-x2)^2+(y1-y2)^2<0.01))break;endif((abs(y1-b)<0.01))

9、break;endendif((x1-x2)^2+(y1-y2)^2<0.01)plot(x20,y20,'.');pause(0.001);holdon;axis([-40,40,-40,40]);endendend程序截图:图表3图表4图表5图表6图表7图表8图表9程序总结:这个程序和初值的关系非常大,之前取得初值点的范围是:10000个以上的点,然后每个点都要算很久,然后有没有设置动态图像,所以要等10分钟以上还不出结果。而且精度一开始不适合设置过于精确,因为我一开始设置的是0.0001以上的精度,基

10、本上估计30分钟都不够他算的,所以适合一开比较粗糙一点的取点运算,然后再精确一点点地去多取一点。然后再通过和文献所给的标准椭圆做对比的时候发现总会在上部多上一点点,而我这个时候的精度是设置的0.01,而多出的那一点点从直观上面来看已经超出了0.01.我觉得有两个解释:第一个是plot命令在画圆的时候标的点的直径比较大。第二个原因是欧拉方法的累计误差影响,因为欧拉方法的误差是在后期累计会越来越大,我们发现在前半部分

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。