导弹追踪问题数学建模matlab

上传人:xmg****18 文档编号:145844813 上传时间:2020-09-24 格式:DOC 页数:12 大小:451KB
返回 下载 相关 举报
导弹追踪问题数学建模matlab_第1页
第1页 / 共12页
导弹追踪问题数学建模matlab_第2页
第2页 / 共12页
导弹追踪问题数学建模matlab_第3页
第3页 / 共12页
导弹追踪问题数学建模matlab_第4页
第4页 / 共12页
导弹追踪问题数学建模matlab_第5页
第5页 / 共12页
点击查看更多>>
资源描述

《导弹追踪问题数学建模matlab》由会员分享,可在线阅读,更多相关《导弹追踪问题数学建模matlab(12页珍藏版)》请在金锄头文库上搜索。

1、数学实验结课论文 导弹跟踪问题 班级:信息与计算科学 :孔雪婷 学号:2012518083实验一 导弹跟踪问题1 实验目的 本实验主要涉及常微分方程。通过实验复习微分方程的建模和求解,介绍两种求解微分方程的数值方法:Euler法和改进的Euler法,还介绍了仿真方法。2 实际问题 某军的一导弹基地发现正北方向120km处海面上有敌艇一艘以90km/h的速度向正向行驶。该基地立即发射导弹跟踪追击敌艇,导弹的速度为450km/h,自动导航系统使导弹在任一时刻都能对准敌艇。试问导弹在何时何处击中敌艇?三数学模型 设坐标系如下,取导弹基地为原点0(0,0)。轴指向正,y轴指向正北方。当t=0时,导弹位

2、于O,敌艇位于点(0,H),(H=120(km)设导弹t时刻的位置为P(),由题意, (4.1)其中。另外在t时刻,敌艇位置应该为,其中=90(km/h)。由于导弹轨迹的切线方向必须指向敌艇,即直线PM的方向就是导弹轨迹上点P的切线方向,故有 (4.2) (4.3)方程(4.3)初值条件想 x(0)=0,y(0)=0 (4.4)构成了一个关于时间变量t的一阶微分方程组的初值问题。由(4.2)得两边对t求导得即有把(4.1)写为代入上式,就得到轨迹方程。这是一个二阶非线性微分方程,加上初值条件,则初值问题 上式分别为(4.5),(4.6),(4.7)。就是导弹的轨迹的数学模型。四解析方法方程(4

3、.5)可以降阶。令,则式(4.5)化为一介可分离变量方程易得由式(4.7)得,从而于是有 (4.8)于是积分又可以得到利用式(4.6)得,于是导弹轨迹方程为 (4.9)设导弹击中敌艇于B(L,H),以y=H代入(4.9)得 (4.10)而导弹击中敌艇的时刻 (4.11)将数据代入(4.10),(4.11)式,得L=25(km), T0.2778(h)五数值方法1.Euler方法 Euler方法十分简单,就是用差商代替微商,即将代之以,而将代之以。设导弹到达()处的时刻为tk,那么得到计算的迭代格式为上式分别为(4.15)(4.16)(4.17)于是 使用MATLAB,编辑文件m4_.m:fun

4、ction m4_1(n)H=120;h=H/n;lamda=90/450;x(1)=0;p(1)=0;y=0:h:H;for i=0:n-1 x(i+2)=x(i+1)+h*p(i+1); p(i+2)=p(i+1)+h*(lamda*sqrt(1+p(i+1)2)/(H-y(i+1);endx;pL=x(n+1)T=x(n+1)/90输入m4_1(4)得到ans = 0 0 0 0.0500 1.5000 0.1167 5.0025 0.2174 11.5254 0.4221L = 11.5254T =0.1281使用MATLAB,建立m4_2.m:function m4_2(N)k=1;

5、for n=N H=120; h=H/n; lamda=90/450; x0=0;p0=0; for i=0:n-1 x1=x0+h*p0; p1=p0+h*(lamda*sqrt(1+p02)/(H-i*h); x0=x1; p0=p1; end L(k)=x1; T(k)=x1/90; k=k+1;endN;L;T 键入m4_2(4,8,12,24,48,96,120,240)得到ans = 4.0000 11.5254 0.1281 8.0000 15.9537 0.1773 12.0000 17.9732 0.1997 24.0000 20.5508 0.2283 48.0000 22

6、.2494 0.2472 96.0000 23.3286 0.2592 120.0000 23.5803 0.2620 240.0000 24.1510 0.2683由方程(4.1),(4.3)解出的表达式,取时间步长,对应时导弹轨迹上点的坐标为,则Euler格式为上式分别为(4.21)(4.22)(4.23)当计算到即停止,于是,使用matlab,编辑m文件:function m4_3(t)H=120;Ve=90;Vw=450;x(1)=0;y(1)=0;T(1)=0;for i=1:10e6 M=(Ve*T(i)-x(i)/(H-y(i); x(i+1)=x(i)+Vw*t/sqrt(1+

7、1/M.2); y(i+1)=y(i)+Vw*t/sqrt(1+M.2); T(i+1)=t+T(i); if y(i+1)=H break; endendT;x;yL=x(i+1)T=x(i+1)/Ve m4_3(0.1) In m4_3 at 6ans = 0 0 0 0.1000 0 45.0000 0.2000 5.3615 89.6795 0.3000 22.6750 131.2155L =22.6750T =0.2519m4_3(0.05)Warning: Divide by zero. In m4_3 at 6ans = 0 0 0 0.0500 0 22.5000 0.1000

8、 1.0374 44.9761 0.1500 3.4121 67.3504 0.2000 7.6462 89.4484 0.2500 14.8679 110.7580 0.3000 29.1948 128.1070L = 29.1948T =0.32442. 改进的Euler方法改进的Euler迭代式上式分别为(4.24)(4.25)(4.26)(4.27)(4.28)6 仿真方法设导弹和敌艇在初始时刻分别位于。此时,导弹指向。而在时,导弹的位置,其中,敌艇的位置则为。这时导弹沿方向飞行,的倾角为;在时导弹的位置为。以此方式,当时,导弹的位置为,其中 (4.33) (4.34) (4.35)

9、(4.36)而敌艇的位置为。如之前一样,当时,仿真停止。这时, 7 实验任务1.应用数学软件MATLAB对问题(4.12)(4.14)进行数值计算,先运用Euler法,与表4.2以及表4.3的数据比较,并以更小的步长计算结果,再用改进的Euler法计算(步长与Euler法相同)用改进的Euler方法取步长为0.1和0.05时计算,用MATLAB验证结果。m.文件function m4_5(t)H=120;Ve=90;Vw=450;x(1)=0;y(1)=0;T(1)=0;for i=1:10e6 M=(Ve*T(i)-x(i)/(H-y(i); x1(i+1)=x(i)+Vw*t/sqrt(1

10、+1/M.2); y1(i+1)=y(i)+Vw*t/sqrt(1+M.2); T(i+1)=i*t; x(i+1)=0.5*(x1(i+1)+x(i)+Vw*t/sqrt(1+(H-y1(i+1)/(Ve*T(i+1)-x1(i+1).2); y(i+1)=0.5*(y1(i+1)+y(i)+Vw*t/sqrt(1+(Ve*T(i+1)-x1(i+1)/(H-y1(i+1).2); if y(i+1)=H break; endendT;x;yL=x(i+1)T=x(i+1)/Ve运行结果: m4_5(0.1)Warning: Divide by zero. In m4_5 at 6ans =

11、 0 0 0 0.1000 2.6808 44.8397 0.2000 12.5752 88.28680.3000 27.0724 130.2557L = 27.0724T =0.3008m4_5(0.05)Warning: Divide by zero. In m4_5 at 6ans = 0 0 0 0.0500 0.5187 22.4880 0.1000 2.1060 44.9219 0.1500 5.0982 67.2021 0.2000 10.1610 89.0691 0.2500 19.6565 108.9880 0.3000 24.2409 130.9903L = 24.2409T = 0.2693得到的结果与书上表4.6和4.7结果一致。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 工作范文

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号