您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 导弹追击模型-matlab求解
《数学软件与数学实验》课程设计实验题目导弹追击问题数学实验报告实验名称导弹追击问题课程设计问题背景描述:某军的一导弹基地发现正北方向200km处海面上有敌舰一艘以100km/h的速度向正东方向行驶.该基地立即发射导弹跟踪追击敌舰,导弹速度为500km/h,自动导航系统使导弹在任一时刻都能对准敌舰.实验目的与任务:(1)试问导弹在何时何处击中敌舰?(2)如果当基地发射导弹的同时,敌舰立即由仪器发觉.假定敌舰为一高速快艇,它即刻以150km/h的速度与导弹方向垂直的方向逃逸,问导弹何时何地击中敌舰?(3)如果敌舰以150km/h的速度与导弹方向成固定夹角的方向逃逸,问导弹何时何地击中敌舰?试建立数学模型.并选择若干特殊角度进行计算.试确定敌舰与导弹方向的最佳逃逸夹角?实验原理与数学模型:(含模型的假设、符号说明、模型的建立)实验原理:根据题意,导弹在任一时刻都能对准敌舰,可知导弹飞行方向会随t而改变,因此导弹的轨迹是一条斜率随着时间变化的曲线,且曲线上每一点的斜率方向都指向敌舰.故可以建立坐标轴进行分析。实验中考虑到敌艇体积大小,当导弹与敌艇距离小于10米时,视为追击成功.因实验所列方程较为复杂,所以本实验采用龙格-库塔方法求得数值解(matlab命令:ode45).第一题:根据快艇的定向运动,在t时刻竖直距离200km,水平距离150tkm,可以建立根据分速度的合成,纵向距离为定值,水平方向距离等于敌舰打中后的距离来建模。因此,每一点的速度可进行正交分解,从而联立微分方程组求解.第二题:由题意可知,敌舰任意时刻的速度方向都与导弹飞行方向垂直,即两者斜率关系呈负倒数关系,由此列方程组进行求解.第三题:实际上第二问是第三问的一个特殊情况,可以由类似方法得到导弹追击所用时间,通过对逃逸角度和追击时间作图分析,可以确定最优逃逸角.符号说明:导弹的位置为11y,xP敌艇的位置为22y,xMv:速度:比例系数st:快艇逃逸角度代码中方便起见,y1,y2分部由x(3),x(4)表示实验所用软件及版本:【实验环境】MATLAB主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)本文解决的是对导弹追击的问题:对于问题一:设坐标系如下,取基地为O(0,0),导弹的位置为11y,xP,船的位置为22y,xM,导弹时时刻刻指向船,可以得到运动轨迹的斜率为1212x-xy-y,即11dxdy=1212x-xy-y。利用相似关系不难得到)()(121121y-ydtdyx-xdtdx得v=2121dtdydtdx得212212y-yx-x500利用4阶龙根-库塔方法求数值解:主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):新建M文件f1.m%%计算导弹在何时何处击中敌舰functionxprime=f1(t,x)xprime=[500/sqrt((100*t-x(1))^2+(200-x(2))^2)*(100*t-x(1));...500/sqrt((100*t-x(1))^2+(200-x(2))^2)*(200-x(2))];EndSolve1.m文件clearclcx0=[0;0];[T,Y]=ode45('f1',[0,1],x0);plot(Y(:,1),Y(:,2),'r*-');holdon;x=0:0.2:150;y=200;plot(x,y,'b.-');title('model1');forn=1:length(T)if(abs(200-Y(n,2))=0.01)break;endendfprintf('time=%.3fhpoint=(%.3fkm,%.3fkm)\n',T(n),Y(n,1),Y(n,2));2122122y-yx-x150主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):对于问题二:由垂直知,12122122y-yx-x-dxdydydx,即)()(12111211y-ydtdyx-xdtdx同理得%如果当基地发射导弹的同时,敌舰立即由仪器发觉.假定敌舰为一高速快艇,它即刻以150km/h的速度与导弹方向垂直的方向逃逸,问导弹何时何地击中敌舰?新建M文件f2.mfunctionxprime=f2(t,x)xprime=[500/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(2)-x(1));...150/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(4)-x(3));...500/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(4)-x(3));...-150/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(2)-x(1))];Endsolve2.m文件clearclcx0=[0;0;0;200];[T,Y]=ode45('f2',[0,1],x0);plot(Y(:,1),Y(:,3),'r*-');holdon;plot(Y(:,2),Y(:,4),'bd-');holdon;title('model2');forn=1:length(T)if(abs(Y(n,1)-Y(n,2))+abs(Y(n,3)-Y(n,4))=0.1)break;endendfprintf('time=%.3fhpoint=(%.3fkm,%.3fkm)\n',T(n),Y(n,1),Y(n,2));2122121y-yx-x500)()(12221222x-xdtdyy-ydtdx主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):对于问题三:如果敌舰以150km/h的速度与导弹方向成固定夹角的方向逃逸,问导弹何时何地击中敌舰?试建立数学模型.并选择若干特殊角度进行计算.试确定敌舰与导弹方向的最佳逃逸夹角?设夹角为θ,则)sin(*150)cos(*150)tan(dxdy2222stdtdystdtdxst以下用和角公式展开即可新建M文件f3.mfunctionxprime=f3(t,x)globalst;st=-pi/4;xprime=[500/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(2)-x(1));...-150*sin(st)*(x(4)-x(3))/sqrt((x(2)-x(1))^2+(x(4)-x(3))^2)+150*cos(st)*(x(2)-x(1))/sqrt((x(2)-x(1))^2+(x(4)-x(3))^2);...500/sqrt((x(2)-x(1))^2+(x(3)-x(4))^2)*(x(4)-x(3));...150*cos(st)*(x(4)-x(3))/sqrt((x(2)-x(1))^2+(x(4)-x(3))^2)+150*sin(st)*(x(2)-x(1))/sqrt((x(2)-x(1))^2+(x(4)-x(3))^2)];End主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):Solve3.m文件clearclcx0=[0;0;0;200];[T,Y]=ode45('f3',[0,1],x0);plot(Y(:,1),Y(:,3),'r*-');holdon;plot(Y(:,2),Y(:,4),'bd-');holdon;title('model2');forn=1:length(T)if(abs(Y(n,1)-Y(n,2))+abs(Y(n,3)-Y(n,4))=0.1)break;endendfprintf('time=%.3fhpoint=(%.3fkm,%.3fkm)\n',T(n),Y(n,1),Y(n,2));%%这边逃逸角度选取了东北方向主要内容(要点):(模型的求解原理、公式、推导、基本求解步骤、算法的流程图等)(接上页):最优化问题:求最佳逃逸角度由对称性,只需计算一侧(取-pi到0),再细分后把各个角度值代入绘图既可得到角度与时间的函数图像,以此为依据判断极值点clearclcx0=[0;0;0;200];k=1;t=0:100;globalst;st=-pi:pi/100:0;forst=-pi:pi/100:0;[T,Y]=ode45('f2',[0,1],x0);forn=1:length(T)if(abs(Y(n,1)-Y(n,2))+abs(Y(n,3)-Y(n,4))=0.1)t(k)=T(n);k=k+1;break;endendendst=-pi:pi/100:0;plot(st,t,'k.-');实验过程记录(含:主要程序清单以及异常情况及程序调试过程记录等)(接上页):第一题:结论:time=0.446hpoint=(66.623km,199.992km)第二题:这里考虑到龙格库塔数值解的步长问题,实际距离取了100米因此处取值时出现较大数量级差别,原计划采用ode15s求得刚性数值解,然软件运行迟迟无果,遂仍采用ode45解决问题结论:time=0.404hpoint=(55.031km,55.021km)(转下页)实验过程记录(含:主要程序清单以及异常情况及程序调试过程记录等)(接上页):第三题:θ取-pi/4时结论:time=0.512hpoint=(63.779km,63.728km)θ取-3pi/4时结论:time=0.335hpoint=(28.015km,28.026km)实验过程记录(含:主要程序清单以及异常情况及程序调试过程记录等)(接上页):第三题:如图可知,当角度st=0时,即与导弹同向逃逸为最佳逃逸角实验结果报告与实验总结:大部分结论已经在上面给出由第一问得知由于导弹的速度远大于敌舰的速度,所以舰艇是不可能摆脱导弹的,只能尽可能的拖延时间,以求得到救援,而敌舰所获拖延时间的多少与其选取的与导弹的夹角密切相关,而我们的第二题、第三题第二小问则是通过若干特殊角度进行计算,得敌舰与导弹方向的最佳逃逸夹角为0度。思考与深入:应用计算机编程求解,可以处理一系列复杂的动态问题。matlab可以处理大量的数据,并绘制曲线图,能直接明了地看出趋势,以及方便做出判断。精确的攻击时间和攻击角度的控制对于提高导弹的杀伤力至关重要。本题对导弹攻击高速运动的敌舰,针对敌舰的逃逸,及研究敌舰逃逸方向与导弹方向成何夹角逃逸最好。该模型的的预测结果对国防部署至关重要,在资金以及技术的限制下,来最大程度提高攻击与防御能力。但还存在缺陷就是求解过程中求的大部分是近似解,并且在求解过程中,我们忽略了敌舰改变逃逸方向所需的时间以及导弹随之改变方向的时间,而这些在实际情况中都是必须考虑的因素,所以此模型还存在一定缺陷,需进一步改进。同时对于问题假设我们也忽略了敌舰的反应时间,以及敌舰对导弹的干扰能力。进一步若敌艇是一艘飞艇,并且如果敌舰能够在短时间内逃离出导弹攻击的射程范围,那问题变得更加复杂,还需要进一步建立模型。参考文献:数学软件与数学实验常微分方程
本文标题:导弹追击模型-matlab求解
链接地址:https://www.777doc.com/doc-2467820 .html