Mathematica课程设计.doc
文本预览下载声明
Mathematica课程设计
课题名称:
时 间:
姓 名:
学 号:
班 级:
指导老师:
追击曲线
一敌舰在某海域内沿正北方向航行时,我方战舰恰位于敌舰的西方向 1.00n mile
(海里)处。我舰向敌舰发射制导鱼雷,敌舰速度为 0.42n mile/min,鱼雷速度 为敌舰速度的两倍。试问敌舰航行多远时将被击中?
1、 用计算机模拟鱼雷追击敌舰的过程
现在我们先介绍什么是计算机模拟。用计算机模仿实物系统,对实物系统的结 构和行为进行动态演示,评价或预测系统的行为效果,为决策提供信息。这一实验 技术称为计算机模拟(又称仿真人在对真实系统做实验时,可能时间太长、费用太 高、危险太大,甚至很难进行。采用计算机模拟技术,常常能获得满意的结果。根 据模拟对象的不同特点,计算机模拟分为确定性模拟和随机性模拟两大类,求解本 问题的模拟属于确定性模拟。问题的解虽然可以用解析的方法获得,但分析和计算 的过程都较复杂。计算机模拟的方法简单可行,能在短时间内观察到鱼雷追击敌舰 的全过程,并且可以估计鱼雷(或舰艇)的速度变化对追击过程的影响,我们采用 时间步长法,按照时间流逝的顺序一步一步对敌舰和鱼雷的活动进行模拟。在整个 模拟过程中,时间步长是固定不变的。
建立直角坐标系(如图 5.7.1 所示),设敌舰为动点 Q ,鱼雷为动点 P 。 Q 点
的初始位置为 Q0
?1 , 0??, P 点的初始位置为 P ?0 , 0??。为了计算出追击过程中每一
时刻 P 点和 Q 点的具体位置,需分别描述 P , Q 两点运动的方向、速度及位置变化
规律。由于 Q 点从初始点出发沿 y 轴方向运动且速度为常数 v0 ,故 Q 点在 t ??t k 时 刻的位置 Qk 1, v0 tk .
由于 P 点的运动方向始终指向 Q ,设在 t ??t k 时刻 P 的位置是 P?xk , , yk ?,则
向量 Pk Qk
弦)表示
???1 ??x
, v0 t k
??yk
??,此时 P 点的运动方向可由下面单位向量(方向余
e ?k ??????e ?k ???, e ?k ?????? Pk Qk 5.7.1
Pk Qk
e ?k ????? 1 ??xk ,
1
1 ??xk
2 ?? v t
??yk
5.7.2
e ?k ????? v0 t k ??yk 2
1 ??xk
2 ?? v t
??yk
P 点运动速度为常数 v1 ??2v0 ,取时间步长的 ?t ??2s ,设在 t ??t k ?1 时刻, P
点的位置为 Pk ?1
???x
k ?1
, yk ?1
??,于是 P 点位置变化规律为
x ??x
??v ?te ?k ?
k ?1
k 1 1
5.7.3
y ??y
??v ?te ?k ???
k ?1
k 1 2
现对追击过程进行模拟,当两个动点的距离小于 0.02n mile 时,则认为 P 点已
经追上 Q 点。模拟过程实际上是产生平面上两个点列: Pk
, Qk
?k ??1 , 2 ,???的过
程。下面是计算机模拟 P 点追赶 Q 点过程的程序
For@p 0, 0 ;q 1, 0 ;P p ;Q q ;
8
t 0; dt 2; v0 0.42 60; v1 2 * v0;
t 0, t ? 100, t + dt;
@DD @D
e q - p; d Sqrt e 1
^2 + e 2
^2 ; ek e d;
@ @D
pk p + v1 * dt * ek; qk
@
1, v0 * t ;
p .; q .; p pk; q qk; pk .; qk .; ek .; e .;
AppendTo
P, p ; AppendTo
Q, q ;
If d
? 0.02, Break ;
Print
t, p, q
程序运行后所得数据结果如下
96 0.999 967,0.672 559 1,0.672 使用 Mathematica 的绘图命令
ListPlot[P] ListPlot [Q] Show[%,%,%]
可得如图 5.7.2 所示的图形。
程序中用动点 P , Q 在各个时刻的坐标构成了两个二维的表。在 Mathematica
中运行上面的程序可以得到追击曲线的图形(如图 5.7.2 所示) 从程序运行的结 果可以看出, 96s 以后鱼雷的位置为(O.999 967,O.672 559);而敌舰的纵坐
显示全部