还剩6页未读,继续阅读
文本内容:
导弹追踪问题
1、实验目的通过对实际问题进行微分建模和求解,掌握Euler法和改进Euler法两种数值方法,同时了解仿真方法
2、实际问题某军的一导弹基地发现正北方向120km处海面上有敌艇一艘以90km/h的速度向正东方向行驶该基地立即发射导弹追击敌艇,导弹速度为450km/h,自动导航系统使导弹在任何时刻都能对准敌艇试问导弹在何时何刻击中敌艇?
3、实验内容建立坐标系如图1以导弹基地为原点(0,0),X轴指向正东方,Y轴指向正北方YA0HMPxyOX图1由题意取步长为则分点为Euler法:迭代格式于是,编程求解n4812244896L
11.
525415.
953717.
0973220.
550822.
249423.3286T
0.
128060.
1772630.
1997020.
2283420.
2472160.259207n12024048096038407680L
23.
580324.
15124.
496524.
703424.
898424.9409T
0.
2620040.
2683440.
2721840.
2744820.
2766490.277121改进Euler法:迭代格式于是:编程求解并于Euler法结果比较见下表:n48122448Euler法L
11.
525415.
953717.
0973220.
550822.
249423.3286T
0.
128060.
1772630.
1997020.
2283420.
2472160.259207改进Euler法L
21.
278122.
96623.
56424.
202224.
553324.7484T
0.
2364240.
2551780.
2618230.
2689130.
2728140.274982n12024048096038407680Euler法L
23.
580324.
15124.
496524.
703424.
898424.9409T
0.
2620040.
2683440.
2721840.
2744820.
2766490.277121改进Euler法L
24.
790624.
881324.
932524.
961624.
987424.9928T
0.
2754510.
2764590.
2770280.
2773510.
2776380.277689从运算结果来看,改进Euler法较好,收敛速度更快
四、应用推广我们还可对该问题推广如果发射导弹时,敌艇立即由仪器觉察,假定敌艇为一高速快艇,他即刻以135km/h的速度与导弹方向成一夹角逃逸,问导弹何时何地击中敌艇?用仿真方法计算设逃逸方向与导弹速度方向夹角为θ,如图2建立坐标Yθ(0,H)αOX图2考虑到舰艇的体积,我们认为当导弹坐标点与舰艇坐标点距离小于一米时击中舰艇导弹的坐标为舰艇的坐标为时,时,得迭代格式当式子时,导弹击中舰艇,位置为,时间用C++编程求解,我们求解了几个角,列表如下附带的程序可解决任意角弧度
03534568.2步长
0.
0010.
00010.
000010.002XY(0,
171.429)-
9.0212,
92.8219)(
11.3835,
93.5568)(
8.71769,
92.83)Tmin
22.
857112.
49812.
647412.48其实逃逸速度在导弹速度方向上分量最大也不过135km/h,远小于导弹速度450km/h,所以,如果无救援的话,敌艇是死路一条但现代军事技术发达,只要有时间就了生存希望,所以,逃逸还是与导弹速度方向一致最好
5、上述问题的进一步推广实际情况下,导弹要受空气阻力,速度是减小的,假设导弹速度方向每改变一度,速度就减小2%,重新计算仍用仿真方法计算解此题只需在第四题的迭代格式里加两个式子即同样,考虑到舰艇的体积,我们认为当导弹坐标点与舰艇坐标点距离小于一米时击中舰艇当式子时,导弹击中舰艇,位置为,时间用C++编程求解,列表如下附带的程序可解决任意角弧度
03534568.2步长
0.
0010.
00010.
000010.002XY(0,
171.429)-
9.0212,
92.874)(
11.392,
93.5034)(
9.10823,9304333)Tmin
22.
857112.
4812.
67212.6在两次推广问题的解答中,我们都使用了仿真方法发现越复杂的问题,用仿真法越好,而且在程序设计中,仿真法使得代码有良好的可重用性,这次实验中,第五部分的代码就是第四部分代码修改得到的,且只改了几行。