关于四人追及问
题
快递公司问题件快递公司问题件货款处理关于圆的周长面积重点题型关于解方程组的题及答案关于南海问题
的
数学实验
报告
软件系统测试报告下载sgs报告如何下载关于路面塌陷情况报告535n,sgs报告怎么下载竣工报告下载
———西安交通大学管理学院
ACCA92 爆米花小组
2010年2月
一、实验问题
在一边长为1的正方形跑道的四个顶点上各站有1人,他们同时开始以等速顺时针追逐下一人,在追及过程中,每个人时刻对准目标,试模拟追及路线。并讨论:
(1) 四个人能否追到一起?
(2) 若能追到一起,则每个人跑过多少路程?
(3) 追到一起所需要的时间(设速率为1)?
(4) 如果四个人追逐的速度不一样,情况又如何呢?
图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个
时间后:
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3
EMBED Equation.3 =
-
;
=
-
=
-
;
=
-
如上所述,按照这样的交错递推方式,便可逐步求出
、
、
、
的坐标,以及
、
、
、
的值。所以接下来的编程求解中,鉴于该命令集的重复执行,我们考虑用条件循环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 k<10000 %开始循环
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.'); %描出d者的位置坐标
e1=(B-A)/norm(B-A); %求出a追b的方向向量
A=A+v*dt*e1; %求出经过一个dt时间后a的位置
e2=(C-B)/norm(C-B); %求出b追c的方向向量
B=B+v*dt*e2; %求出经过一个dt时间后b的位置
e3=(D-C)/norm(D-C); %求出c追d的方向向量
C=C+v*dt*e3; %求出经过一个dt时间后c的位置
e4=A-v*dt*e1-D;d4=norm(e4); %计算出d与a间距离
e4=e4/d4; %求出d追a的方向向量
D=D+v*dt*e4; %求出经过一个dt时间后d的位置
d1=norm(B-A); %计算出a与b间距离
d2=norm(C-B); %计算出b与c间距离
d3=norm(D-C); %计算出c与d间距离
d4=norm(A-D); %计算出d与a间距离
fprintf('k=%.0f d1=%.4f d2=%.4f d3=%.4f d4=%.4f\n',k,d1,d2,d3,d4);
%显示累计数k,以及相应两者间距离
fprintf('A(%.2f,%.2f) B(%.2f,%.2f) C(%.2f,%.2f) D(%.2f,%.2f)\n', A(1),A(2),B(1),B(2),C(1),C(2),D (1),D(2));
%显示四者坐标
if d1<=0.005 %判断a与b的位置是否足够小
break %终止循环
end %结束判断
if d2<=0.005 %判断b与c的位置是否足够小
break %终止循环
end %结束判断
if d3<=0.005 %判断c与d的位置是否足够小
break %终止循环
end %结束判断
if d4<=0.005 %判断d与a的位置是否足够小
break %终止循环
end %结束判断
pause(0.01) %放慢画图演示过程
end %结束循环
六、问题求解结果与结论
上述程序的运行结果:
∶
∶
k=250 d1=0.0102 d2=0.0102 d3=0.0102 d4=0.010 A(0.50,0.49) B(0.49,0.50) C(0.50,0.51) D(0.51,0.50)
k=251 d1=0.0073 d2=0.0073 d3=0.0073 d4=0.0073 A(0.50,0.49) B(0.49,0.50) C(0.50,0.51) D(0.51,0.50)
k=252 d1=0.0052 d2=0.0052 d3=0.0052 d4=0.0052 A(0.50,0.50) B(0.50,0.50) C(0.50,0.50) D(0.50,0.50)
k=253 d1=0.0042 d2=0.0042 d3=0.0042 d4=0.0042 A(0.50,0.50) B(0.50,0.50) C(0.50,0.50) D(0.50,0.50)
图3
程序的运行结果表明:
在四人的速率v相等的情况下:
①当运动结束时,a与b间距离、b与c间距离、c与d间距离、d与a间距离都已足够小(小于初始距离的0.5%)。即运动结束时,a、b、c、d四人可以追到一起,都到达正方形中心(0.5,0.5)位置附近。
②整个运动过程经历的时间:
t=k
=253
0.004=1.012≈1
③从开始到结束,每个人跑过的路程:
s=v
t=1
④四人运动的轨迹如图3所示。
其实,不难想像,由于四个人所处的位置关于正方形中心对称,且四人运动的速率相同,所以四人运动的轨迹也是时刻对称的,最后也应该同时停止在正方形的中心。
另外,值得一提的是,原程序设计的时间间隔
为0.004个时间单位,运动停止的临界距离为0.005单位。当然也可以根据需要更改这两个参数。将
和临界距离设置越小,得出的运行轨迹、时间t与路程s的值也会越精确。比如,将
和临界距离逐渐改小,其对应的t值如下:
dt=0.004 d<0.005 t=1.012
dt=0.003 d<0.004 t=1.008
dt=0.002 d<0.003 t=1.004
dt=0.001 d<0.002 t=1.002
∶
∶
由上可以看出,整个运动过程所用时间t在逐渐趋近于1个单位,因而我们可以合理地推断,四人完全重合在一起所花的时间应该是1个时间单位整,而每个人跑过的路程也应该是1个距离单位。
七、进一步拓展与实验
下面就四人追逐速度不一样的情况(即问题(4))进行编程与探究。
虽然四人的速率不一样,但是依然可用向量递推的方法求解,编程时只需要将原式中v的分别改成v1、v1、v3、v4即可。程序编写如下:
clear;clf; %清除内存变量,清理图形窗口
v1=input('v1=') %输入a的运动速率
v2=input('v2=') %输入b的运动速率
v3=input('v3=') %输入c的运动速率
v4=input('v4=') %输入d的运动速率
A=[0,0];B=[0,1];C=[1,1];D=[1,0]; %设置四人初始位置
k=0; dt=0.004; %设置累计计数变量k,时间间隔dt
grid; %绘制网格
hold on; %保持在同一窗口画图
axis([0 1 0 1]); %重置坐标轴
while k<10000 %开始循环
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.'); %描出d者的位置坐标
e1=(B-A)/norm(B-A); %求出a追b的方向向量
A=A+v1*dt*e1; %求出经过一个dt时间后a的位置
e2=(C-B)/norm(C-B); %求出b追c的方向向量
B=B+v2*dt*e2; %求出经过一个dt时间后b的位置
e3=(D-C)/norm(D-C); %求出c追d的方向向量
C=C+v3*dt*e3; %求出经过一个dt时间后c的位置
e4=A-v1*dt*e1-D;d4=norm(e4); %计算出d与a间距离
e4=e4/d4; %求出d追a的方向向量
D=D+v4*dt*e4; %求出经过一个dt时间后d的位置
d1=norm(B-A); %计算出a与b间距离
d2=norm(C-B); %计算出b与c间距离
d3=norm(D-C); %计算出c与d间距离
d4=norm(A-D); %计算出d与a间距离
fprintf('k=%.0f d1=%.4f d2=%.4f d3=%.4f d4=%.4f\n',k,d1,d2,d3,d4);
%显示累计数k,以及相应两者间距离
fprintf('A(%.2f,%.2f) B(%.2f,%.2f) C(%.2f,%.2f) D(%.2f,%.2f)\n',A,B,C,D);
%显示四者坐标
if d1<0.005 %判断a与b的位置是否足够小
break %终止循环
end %结束判断
if d2<0.005 %判断b与c的位置是否足够小
break %终止循环
end %结束判断
if d3<0.005 %判断c与d的位置是否足够小
break %终止循环
end %结束判断
if d4<0.005 %判断d与a的位置是否足够小
break %终止循环
end %结束判断
pause(0.01) %放慢画图演示过程
end %结束循环
该程序中可分别改变v1、v1、v3、v4初始值的大小来研究不同速率带来的情况变化。
下面我们对以下几种情况进行研究:
①保持三者速率不变,只改变另一人速率的值。
不妨保持v1=v2=v3=1,仅改变v4的值。
我们可以取多组v4的值进行探究,运行结果如下:
v4=4时
k=67 d1=0.7339 d2=0.6344 d3=0.9811 d4=0.0024
该组数据表明运动结束时,仅有d(速率为v4)追上a
v4=2时
k=140 d1=0.4373 d2=0.2838 d3=0.5104 d4=0.0039
该组数据表明运动结束时,仅有d(速率为v4)追上a
v4=1.1时
k=246 d1=0.0058 d2=0.0038 d3=0.0064 d4=0.0039
该组数据表明运动结束时,d(速率为v4)追上a,且b追上c
v4=1.01时
k=252 d1=0.0045 d2=0.0044 d3=0.0045 d4=0.0044
该组数据表明运动结束时,a、b、c、d都追上各自目标,即四人追到一起
从上面4组数据中,我们看到了不同的结果,并可以发现,随着v4的值与其他三者的值越来越接近,运动结束时四者的距离也越来越接近。当v4=1.01时,a、b、c、d甚至都追上各自目标,即四人追到一起。
但是,我们在v4=1.01的情况下把
的值由原来的0.004改为0.0001个单位时,却得到了如下的结果:
当v4=1.01时
k=9928 d1=0.004985905 d2=0.0049 d3=0.005009058 d4=0.004977644
即此时a、b、d都追上各自目标,但是c并没有追上d,即四人并没有追到一起
我们惊奇地发现,在四人速率不变的情况下,仅仅改变
的值,却得到了不一样的结果!
在其他情况下我们也发现了类似结果:
②保持两者速率不变,改变另外两者的值。
当v1=v2=1,v3=1.08,v4=1.1,dt=0.004时
k=242 d1=0.0044 d2=0.0046 d3=0.0047 d4=0.0042
该组数据表明运动结束时,a、b、c、d都追上各自目标,即四人追到一起
当v1=v2=1,v3=1.08,v4=1.1,dt=0.0001时
k=9522 d1=0.004923672 d2=0.004964200 d3=0.005596101 d4=0.005135397
即此时a、b都追上各自目标,但是c、d并没有追上各自目标,即四人并没有追到一起
③四者速度全部不同时。
当v1=1,v2=1.01,v3=1.02,v4=1.03,dt=0.004时
k=249 d1=0.004529165 d2=0.004337704 d3=0.004586704 d4=0.004249043
该组数据表明运动结束时,a、b、c、d都追上各自目标,即四人追到一起
当v1=1,v2=1.01,v3=1.02,v4=1.03,dt=0.0001时
k=9805 d1=0.004999084 d2=0.004985715 d3=0.005146820 d4=0.005009500
该组数据表明运动结束时, a、b都追上各自目标,但是c、d并没有追上各自目标,即四人并没有追到一起
针对以上出现的在四人速率不变的情况下,仅仅改变
的值,却得到了不一样的结果的现象,我们进行分析讨论,发现这是因为用离散化求解的方法无法避免地忽略了运动的连续性,即它只能粗略地表现质点在时间段之间的变化,却不能细致描绘出质点在时间段之内的情况。
也就是说,采用离散化的手法后,四者的运动过程是呈跳跃状的。可能经过n个
时间单位时,他们所有的人离自己目标的距离是大于临界值的,经过n+1个
时间单位时,他们所有的人离自己目标的距离就小于临界值了。这时,看上去,他们都追上了自己的目标,即四人追到了一起。但是,如果把时间间隔再细分,比如把原来的一个
再次100等分,每份记作
。那么,由于速率不一样,可能经过k个
时间单位,他们彼此的差距大于临界值,但是在经过k+1个
时间单位后,有可能只有一个人与自己目标的距离小于临界值,其他三者与目标间距离并未小于临界值,而此时根据假设3运动已停止,但四人并未追到一起。
因此,我们猜想,即使四者的速率相差的再小,只要将时间间隔设定的足够小,一定会有存在有人追上自己的目标,而另外的人没有追上自己目标的时刻。换言之,只要四人速率不一样,无论速率多么接近,四人都不会追到一起。速率不一样是四人追不到一起的根本原因!
虽然在速率不等时四人不能追到一起,但是我们还发现,有可能同时存在两个人追到各自目标的现象。即为下述情况:
④令a、c两者速度相等,b、d两者速度也相等。
当v1=v3=1,v2=v4=2时,运行结果如下:
∶
∶
k=116 d1=0.627415423 d2=0.031974418 d3=0.627415423 d4=0.031974418
k=117 d1=0.618549157 d2=0.026612288 d3=0.618549157 d4=0.026612288
k=118 d1=0.609019410 d2=0.021583434 d3=0.609019410 d4=0.021583434
k=119 d1=0.598813049 d2=0.016884887 d3=0.598813049 d4=0.016884887
k=120 d1=0.587956476 d2=0.012489514 d3=0.587956476 d4=0.012489514
k=121 d1=0.576534618 d2=0.008337299 d3=0.576534618 d4=0.008337299
k=122 d1=0.564706471 d2=0.004330704 d3=0.564706471 d4=0.004330704
图4
上述结果表明,运动结束时b、d同时追到各自目标(经检验,即使将时间间隔
变小,情况依然不变)。我们猜测,之所以他们能同时追到各自目标,是由于a、c两者速率相等,b、d两者速率也相等。且b与c组成的单元与d与a组成的单元时刻关于正方形中心对称。这样这两组单元才会同时运动且同时停止。
另外,我们在保持四人速率相等的情况下多次更改了四人的初始位置,每次都使
、
、
、
构成一个非正方形的任意四边形。运行程序后,我们发现每次四人都无法追到一起。我们分析了这种情况后认为,这是由于四人所处的初始位置并没有关于某点轮换对称造成的,从而猜测只有在四人初始位置点构成一个正方形时,他们才能追到一起。
八、实验的
总结
初级经济法重点总结下载党员个人总结TXt高中句型全总结.doc高中句型全总结.doc理论力学知识点总结pdf
与体会
爆米花小组于2010年1月22日成立,成员如下:
崔雨竹(09085032) 谭慧曼(09085041) 严珞诗(09085057)
小组成员在2010年1月至2月期间以网际交流的方式针对《MATLAB软件与基础数学实验》一书中68页的问题4——“四人追及问题”进行了研究与讨论,并将该问题的研究成果按要求写成此份报告。
本次假期中的数学实验活动让我们从理论知识到思想观念上都有了不小收获。
首先,我们认为数学实验可以帮助我们学会利用数学知识建立数学模型,通过思考与研究加强对自然规律的认识,增强解决实际问题的能力。
然后,我们感到了能在一个团队中与队友合作完成任务是非常可贵的。个人的思想总会有缺陷,个人的能力总是有极限。而在一个团队中通过自由的交流讨论与合作正可以弥补个人的不足。每位队友能结合自己的长处与能力的付出就会让团队向共同目标迈出一大步。
同时,我们还意识到对于任何问题都要抱着锲而不舍的态度去钻研,对于问题要从多角度去思考。这种敢于探究的精神会激励我们不断实践、不断进步。
最后,感谢小组成员们为本次研究所付出的努力!
2010年2月
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
� EMBED Equation.3 ���
_1328294106.unknown
_1328294547.unknown
_1328294584.unknown
_1328294613.unknown
_1328295372.unknown
_1328351055.unknown
_1328426229.unknown
_1328295347.unknown
_1328294596.unknown
_1328294607.unknown
_1328294590.unknown
_1328294563.unknown
_1328294570.unknown
_1328294557.unknown
_1328294451.unknown
_1328294534.unknown
_1328294541.unknown
_1328294522.unknown
_1328294166.unknown
_1328294277.unknown
_1328290384.unknown
_1328290921.unknown
_1328293847.unknown
_1328293868.unknown
_1328292766.unknown
_1328292994.unknown
_1328293547.unknown
_1328293597.unknown
_1328293708.unknown
_1328293723.unknown
_1328293737.unknown
_1328293744.unknown
_1328293728.unknown
_1328293717.unknown
_1328293607.unknown
_1328293575.unknown
_1328293583.unknown
_1328293565.unknown
_1328293353.unknown
_1328293405.unknown
_1328293297.unknown
_1328292800.unknown
_1328292819.unknown
_1328292825.unknown
_1328292807.unknown
_1328292781.unknown
_1328292792.unknown
_1328292773.unknown
_1328292671.unknown
_1328292740.unknown
_1328292756.unknown
_1328292733.unknown
_1328291169.unknown
_1328292352.unknown
_1328292434.unknown
_1328292566.unknown
_1328291241.unknown
_1328291293.unknown
_1328291334.unknown
_1328291287.unknown
_1328291008.unknown
_1328291126.unknown
_1328291146.unknown
_1328291029.unknown
_1328290987.unknown
_1328290587.unknown
_1328290744.unknown
_1328290800.unknown
_1328290818.unknown
_1328290776.unknown
_1328290611.unknown
_1328290621.unknown
_1328290599.unknown
_1328290468.unknown
_1328290532.unknown
_1328290542.unknown
_1328290550.unknown
_1328290515.unknown
_1328290432.unknown
_1328290453.unknown
_1328288900.unknown
_1328289528.unknown
_1328290076.unknown
_1328290153.unknown
_1328290255.unknown
_1328290278.unknown
_1328290228.unknown
_1328290107.unknown
_1328290122.unknown
_1328290090.unknown
_1328289594.unknown
_1328289799.unknown
_1328290039.unknown
_1328290006.unknown
_1328289582.unknown
_1328289039.unknown
_1328289078.unknown
_1328289109.unknown
_1328289110.unknown
_1328289512.unknown
_1328289108.unknown
_1328289053.unknown
_1328289019.unknown
_1328288939.unknown
_1328288978.unknown
_1328285835.unknown
_1328286085.unknown
_1328286185.unknown
_1328287454.unknown
_1328288726.unknown
_1328286218.unknown
_1328286907.unknown
_1328287418.unknown
_1328286743.unknown
_1328286214.unknown
_1328286106.unknown
_1328286180.unknown
_1328286098.unknown
_1328285939.unknown
_1328286021.unknown
_1328286053.unknown
_1328286057.unknown
_1328286004.unknown
_1328285843.unknown
_1328285932.unknown
_1328285850.unknown
_1328285837.unknown
_1328285390.unknown
_1328285471.unknown
_1328285660.unknown
_1328285399.unknown
_1328212848.unknown
_1328285384.unknown
_1328212767.unknown