追赶曲线的计算机模拟

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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

相关文档
最新文档