- 1、本文档共18页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
关于四人追及问题地数学实验报告
关于四人追及问题的
数学实验报告
———西安交通大学管理学院
ACCA92 爆米花小组
2010年2月
一、实验问题
在一边长为1的正方形跑道的四个顶点上各站有1人,他们同时开始以等速顺时针追逐下一人,在追及过程中,每个人时刻对准目标,试模拟追及路线。并讨论:
四个人能否追到一起?
若能追到一起,则每个人跑过多少路程?
追到一起所需要的时间(设速率为1)?
如果四个人追逐的速度不一样,情况又如何呢?
图1
二、问题分析
本题是一个动态追击问题,参考《MATLAB软件与基础数学实验》一书中65页的问题四,我们可以通过使追及过程离散化的方法来模拟四人的追及过程,即以极短的时间段为间隔,逐步分析四人的运动状况。
三、建模假设
1.将四个人看成质点a、b、c、d,设他们的初始位置分别为(0,0)(即坐标原点O)、(0,1)、(1,1)、(1,0),如图1所示。
2.假设某人追上其目标的要求是该者与其目标间的距离足够小。我们不妨将该临界距离设为0.005个单位(该值为初始距离的0.5%)。
3.假设当中a、b、c、d某人已追到其目标时,该追及活动终止,即运动结束。若此时恰巧其他三人也追到各自目标,则称这种情况为四人追到一起。否则的话,称四人不能追到一起。
4.在追及过程中,四人可以在正方形区域内进行运动,并不是只能在正方形的边长上运动。
5.在开始运动时和追及过程中,每个人时刻朝着目标运动不受限制。
6.根据分析,可以假设连续的时间被分为多个极小且等长的时间段。又因为时间间隔极短,所以四人在时间内的运动均可视为直线运动。
四、建模求解
本题求解的关键在于运用算法求出若干个时间后a、b、c、d四人的位置坐标,并计算相应追逐者间的距离。记经过k个时间后,a、b、c、d位置点分别为、、、。故本题转化为求、、、的坐标,以及、、、的值。下面,逐步分析四人的运动状况。
图2
①运动开始时,a、b、c、d四人同时分别朝着各自目标沿向量、、、的方向运动。
②经过1个时间后,a由运动到,b由运动到,c由运动到,d由运动到。
③此时a、b、c、d都要转变方向同时分别沿向量、、、方向追及b、c、d、a。
④经过2个时间后,a、b、c、d又分别由、、、运动到、、、。
⑤此时a、b、c、d需再次调整方向同时分别沿向量、、、方向追及b、c、d、a。
⑥照此循环下去,直到某两者之间的距离足够小,即这时两个人追到一起,该程序活动终止。以上过程如图2所示。
因此,我们可以用向量递推的方法来求出、、、的坐标,即向量、、、的坐标。记a、b、c、d四者的速率分别为、、、。
=- ; =-
=- ; =-
1个时间后:
=- ; =-
=- ; =-
2个时间后:
=- ; =-
=- ; =-
∶
∶
k个时间后:
=- ; =-
=- ; =-
如上所述,按照这样的交错递推方式,便可逐步求出、、、的坐标,以及、、、的值。所以接下来的编程求解中,鉴于该命令集的重复执行,我们考虑用条件循环while-end结构。
五、MATLAB程序设计
说明:下面就四人的速率v相等时的情况进行程序设计,四人的速率v不等情况将在第七节“进一步拓展与实验”中说明。
程序编制:
clear;clf; %清除内存变量,清理图形窗口
A=[0,0];B=[0,1];C=[1,1];D=[1,0]; %设置四人初始位置
k=0; %设置累计计数变量k
dt=0.004;v=1; %设置时间间隔dt,四人运动速率v
grid; %绘制网格
hold on; %保持在同一窗口画图
axis([0 1 0 1]); %重置坐标轴
while k10000 %开始循环
k=k+1; %循环次数累加1
plot(A(1),A(2),g.); %描出a者的位置坐标
plot(B(1),B(2),r.); %描出b者的位置坐标
plot(C(1),C(2),y.); %描出c者的位置坐标
plot(D(1),D(2),b
文档评论(0)