追赶曲线的计算机模拟
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
追赶曲线的计算机模拟
问题描述:欧洲文艺复兴时期的著名人物达·芬奇曾经提出一个有趣的“狼追兔子”问题,当一只兔子正在它的洞穴南面60码处觅食时,一只饿狼出现在兔子正东的100码处。兔子急忙奔向自己的洞穴,狼立即以快于兔子一倍的速度紧追兔子不放。兔子一旦回到洞穴便逃脱厄,问狼是否会追赶上兔子?
这一问题的研究方法可以推广到如鱼雷追击潜艇、地对空导弹击飞机等问题上去。
在对真实系统做实验时,可能时间太长、费用太高、危险太大、甚至很难进行。计算机模拟是用计算机模仿实物系统,对系统的结构和行为进行动态演示,以评价或预测系统的行为效果。根据模拟对象的不同特点,分为确定性模拟和随机性模拟两大类。模拟通常所用的是时间步长法,即按照时间流逝的顺序一步一步对所研究的系统进行动态演示,以提取所需要的数据。
问题分析:首先计算狼的初始位置到兔子洞穴的直线距离:
116.6190D =≈
由于狼奔跑的速度是兔子速度的两倍,兔子跑60码的时间狼可以跑120码。如果狼沿直线奔向兔窝,应该是可以追上兔子的。但是,有人推导出狼在追赶兔子过程中的运动曲线为
31221200()10303
y x x x =-+ 根据曲线方程,当0x =时,200/3y =。也就是说,在没有兔窝的情况下兔子一直往北跑,在跑到大约66码处将被狼追上。由此可知,在有兔窝时狼是追赶不上兔子的。
用计算机模拟的方法也可以得到同样的结论。取时间步长为1s ,随时间步长的增加,考虑这一系统中的各个元素(狼和兔子)所处的位置变化规律,用计算机作出模拟。最后,根据第60s 时狼所在的位置的坐标,判断狼是否能追上兔子。
问题思考与实验:
(1)设兔子奔跑的速度为01m/s υ=,则狼运动的速度为102υυ=。建立平面直角坐标系,若当k t t =时刻,兔子位于点0(0,)k k Q t υ处,狼位于点(,)k k k P x y 处。试根据k P ,k Q 的坐标确定一个单位向量k e 描述狼在1[,]k k t t +时段内的运动方向。
(2)根据狼的运动方向和速度推导(,)k k k P x y 到111(,)k k k P x y +++的坐标的具体表达式;
(3)用计算机绘制追赶曲线的图形(包括静态和动态的图形)。
一、源程序
x(1)=100;y(1)=0;u(1)=0;v(1)=0;
t=1;d=100;e=[-1 0];
while d>0.5
x(t+1)=x(t)+2*e(1);
y(t+1)=y(t)+2*e(2);
t=t+1;u(t)=0;v(t)=t;
e=[-x(t) t-y(t)];
d=sqrt(e(1)^2+e(2)^2);
e=e/d;
end
plot(u,v,'o',x,y)
二、运行结果
三、结果分析
动点P 的轨迹就是追赶曲线,P 点的运动方向可以用单位向量描述:
⎪⎪⎭⎫ ⎝⎛---+=
k k k k k k y t x y t x e 22
)(1