《基于导弹发射问题的数学模型.doc》由会员分享,可在线阅读,更多相关《基于导弹发射问题的数学模型.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、【精品文档】如有侵权,请联系网站删除,仅供学习与交流基于导弹发射问题的数学模型.精品文档.数学建模竞赛承 诺 书我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。如有违反竞赛规则的行为,我们将受到严肃处理。我们参赛选择的题号是(从A/B中选择一项填写): 我们的队号为: 参赛队员:1
2、. 2. 3. 指导教师或指导教师组负责人: 数模组 日期: 2009 年 8 月 11 日评阅编号(由评阅老师评阅前进行编号):数学建模竞赛编 号 专 用 页评阅编号:评阅记录:评阅人评分备注基于导弹发射问题的数学模型摘要本文主要讨论了导弹发射问题,同时通过建立合理的数学模型确定导弹能够成功击毁敌机的条件。运用多种模型及计算机软件模拟击毁敌机的过程。针对问题一:我们用微分方程的知识建立了二维平面上的导弹追逐模型。利用在任何时刻导弹的飞行方向指向敌机的位置得出微分方程和初值条件,并经过严格的数学公式推导和合理的假设,求解出导弹追踪敌机的轨迹方程。通过模型的求解,我们得出这样的结论:发射该种导弹
3、击毁敌机的条件是:,即.针对问题二:由于导弹是来自地面所以用微分方程的知识建立了三维空间上的导弹追逐模型,并把该三维空间上的导弹追逐问题转化为二维平面上的导弹追逐问题,运用问题1的解决方法求解得出II型地对空导弹追踪敌机的轨迹方程针对问题三:我们建立了比例制导模型和RBF-BP神经网络模型两个模型,其中比例制导模型运用matlab软件编程模拟导弹击毁敌机的整个过程,运行程序后输入N,M,高度H,敌机速度v等各个参数,程序会输出导弹能击毁敌机的最小速度,并且将这个过程表现在三维图像中。RBF-BP神经网络模型运用matlab软件建立RBF神经网络,通过多个曲线上的点,以及输入导弹速度V与N逼近出
4、整条曲线,从而确定最短的M。然后利用多个(M,N)与V的组合数据建立BP神经网络,神经网络通过自组学习得到(M,N)与V的关系。接着利用几个检验数据进行精确度分析,得到分别0.0021,0.0013,0.0006,-0.0011,-0.0019,-0.0028的单位速度误差。最后只要输入相应的M,N就能得到最小的击毁敌机的速度。 最后我们对上述模型分别进行分析评价,提出了一些可能的改进方向。关键字:matlab 导弹发射 微分方程 模拟 神经网络 比例制导一、问题重述1、某边防导弹基地的雷达发现位于其正东 N 公里处有一家来犯敌机正欲逃往正北方向 M 公里处的安全区。该基地的I型空对空追踪导弹
5、和II型地对空追踪导弹均可针对目标随时自动调节追踪方向,截击敌机。但敌机一旦进入安全区后,由于电子干扰作用,I型、II型导弹均将失去追踪目标,无法将敌机击毁。假定雷达发现敌机时,该机正位于我防空指挥部正东N公里高空处,并欲在同一高度上向位于其正北方向M公里处的安全区逃窜。而在此时,基地即下令巡航飞机发射I型追踪导弹击毁敌机。在适当的假设下,确定导弹追踪敌机的轨迹及发射I型空对空导弹击毁敌机的条件。2、如此时在基地即发射II型地对空追踪导弹去击毁敌机,假定敌机始终距地面高度为h公里向正北方向飞行,其他假定同情况1中所述,在试确定导弹追踪敌机的轨迹,并在适当的假定下,及发射该种导弹击毁敌机的条件;
6、3、若导弹的速度可在发射前根据需要设定,导弹基地的位置和敌机的速度看做设定的常数,对于不同的N、M取值,编写计算机程序,利用计算得到的数据说明怎样的发射速度可确保击毁敌机。二、模型的假设假设1:导弹与敌机的速率恒定。假设2:导弹飞行的轨迹切线方向始终指向敌机。假设3:导弹飞行的轨迹和敌机飞行的高度始终在同一平面内。假设4:相对几百千米的路程导弹与敌机的长度可以忽略,均可看成物理质点。假设5:导弹在飞行过程中速度只存在方向上的变化,大小并没发生变化。假设6:导弹中安装有计算装置,导弹可以向目标发射电磁波,再通过计算装置实时计算导弹的位置。假设7:敌机始终在离地h处飞行,不存在竖直方向上的波动。三
7、、符号说明敌机匀速向正北方向运动的速度导弹飞行的速度h敌机飞行的高度M敌机最初点与安全区的距离N敌机最初点与导弹的距离KQ导弹在xy平面上的分速度KO导弹在z方向的分速度学习周期动量系数第个样本预测值与真实值间的误差总误差期望值BP神经网络权值第个节点的输入量的方差,第个节点的基函数中心,的分量,为具有径向对称的基函数,为网络输出矢量为网络输入矢量为隐含层输出隐含层和输出层之间的l 1 阶权值矩阵用来检验精确度的矩阵理想矩阵训练函数输出层的转移函数BP神经网络第1层的转移韩式输出矩阵目标向量输入向量神经元的最大数目导弹调整方向的时间周期开始时刻导弹到敌机的距离开始时刻敌机到安全区的距离导弹的速
8、度导弹在时刻处的横坐标导弹在时刻处的纵坐标敌机在时刻处的纵坐标敌机的速度导弹在时刻处速度在横坐标方向的分量样本个数输入样本,选取中心之间的最大距离聚类集合,聚类中心,网络输出,输入样本,输出样本,导弹在时刻处速度在纵坐标方向的分量、正整数:神经元的等效误差四、问题的分析与模型的建立问题一:模型A(微分方程模型)由于我方导弹发射点与敌机处于同一高度,故敌机的运行轨迹和导弹的运行轨迹是处于同一高度且在平行于地面的平面上,故可建立起平面直角坐标系.又由于导弹飞行方向始终指向敌机,即导弹飞行方向随时间的改变而改变,故可建立起微分方程并求解.(求解示意图如图-1)图-1分别记敌机与导弹最开始所在处为A、
9、B,以A为原点,AB所在直线为x轴,敌机逃窜方向所在直线为y轴,建立平面直角坐标系。则A点坐标为(0,0),B点坐标为(-N,0),安全区与y轴交点C(0,M)。其中设敌机以匀速向正北方向(即y轴方向运动),导弹飞行的速度为且运动过程中速度大小不变。初始时刻:敌机位于原点(0,0),导弹位于B(-N,0)点。即: 在时刻t:导弹位于点P(x,y),此时敌机在点C(0, ),CP与曲线(轨迹)相交于点P,于是有以下等式: .(1)对上式化简: .(2)两端对x求导: .(3)由 ,s为x的增函数,得: .(4)将(4)式代入(3)式得: .(5)问题二:模型B(改进的微分方程模型)表面上看,这是
10、一个三维空间上的导弹追逐问题,但由于导弹的方向始终指向敌机,事实上我们可以把他简化为一个二维平面上的导弹追逐问题,即在由导弹和敌机最开始所在点及导弹追上敌机时所在点所组成的平面上。点线面之间的关系如下图-2所示: 图-2如图-2,B点(-N,0)是地面导弹发射基地,D点(0,0,h)是敌机开始飞行地,A点(0,0,0)是敌机垂直映射到地面的投影,h是敌机飞行的高度,C点(0,M,h)是敌机飞行线与安全区的交点。然后我们将该问题转化为在平面BDC上的问题,运用模型A的方法就行求解。此时考虑在平面BDC上,以D点为原点,BD所在直线为x轴,DC所在直线为y轴,建立与问题一种一样的模型。初始时刻:敌
11、机位于原点(0,0),导弹位于点即 建立的微分方程为: .(5)余下情况和模型A相同。问题三:模型C(比例制导模型)运用制导理论中的比例制导法,在空间直角坐标系中,令导弹每一时刻都计算与目标的坐标差,及距离r,这样任意时刻的仰角为:导弹所在位置坐标与x轴夹角。令导弹下一时刻的坐标增量,KQ是导弹在xy平面上的分速度,KO是导弹在z方向的分速度,在制导过程中,导弹的速度矢量的转动角速度与导弹和目标连线转动角速度成比例。敌机的空间坐标随时间变化规律为(0,H)。编制程序模拟导弹发射的过程,并计算出击中的最小速度。程序见附表-1模型D(RBF-BP神经网络模型)由模型A知:问题1的轨迹是一条曲线,表
12、达式是常微分方程。为了简化需要,在RBF-BP模型中,采用欧拉折线法,用代替,如下图: 图-3建立直角坐标系,使敌机初始位置为(0,0),导弹初始位置为(-N,0),则安全区为(0,M)。假设导弹每经过时间调整一次方向使指向敌机,且速度大小不变,为。则导弹初始速度方向为正坐标轴,大小为。用表示导弹在时刻处的横坐标,表示导弹在时刻处的纵坐标,表示敌机在时刻处的纵坐标。用表示敌机的速度,令为0.005单位速度。用表示导弹在时刻处速度在横坐标方向的分量,用表示导弹在时刻处速度在纵坐标方向的分量。所以有:如此通过迭代,可以解出在不同时刻上,导弹的位置。然后用MATLAB进行RBF网络学习算法,逼近曲线
13、,通过代入导弹横坐标为0的条件,即可求出撞击位置。求解程序附表-2.重复以上方法,通过不同与可以求出不同的,最后通过BP神经网络对(M,N)与V的关系进行网络训练。最后只要输入任意(M,N)组合就能得到相应的可确保击毁敌机的V。求解程序附表-3.五、模型的求解与结果的分析问题一:模型A(微分方程模型) 对于下式: .(5) 初始条件: .(6)(5)式是不显含未知函数y的二阶方程.于是,令,则,代入(5),(6)式,得: (7)其中.分离变量得: (8)即: (9)直接积分得: (10)当x=0时,导弹击中目标,此时 (11)这是敌机飞行的距离,由此可得所用的时间:(12)由上述(11)式及求
14、解过程可知,发射该种导弹击毁敌机的条件是:,即.问题二:模型B(改进的微分方程模型)建立的微分方程如下:.(5)(13)如同模型A的求解过程进行求解,可得:当x=0时,导弹击中目标,此时 .(14)这是敌机飞行的距离,由此可得所用的时间:(15)由上述(14)式及求解过程可知,发射该种导弹击毁敌机的条件是:,即问题三:模型C(比例制导模型)该程序针对不同的N,M,敌机的高度h,敌机的速度v等的变化,有不同的输出结果。程序运行时可以直接输入这些参量的具体数据。敌机进入安全区之前被导弹击中,程序最终会输出导弹的最慢的发射速度,并会将导弹追击敌机的过程画出。如输入N=50000,M=200000,h
15、=18000,v=400,则输出:轨迹图为: 图-4模型D(RBF-BP神经网络模型)(I) RBF算法:1. 标准的RBF网络包括三层:输入层,非线性隐含层和线性输出层,其结构如图-5 所示: 图-5 RBF 网络结构图中,为网络输入矢量,为网络输出矢量,为隐含层和输出层之间的l 1 阶权值矩阵,为隐含层输出, 的各个分量均定义为具有径向对称的基函数,通常取如下形式的高斯函数:其中,为第个节点的基函数中心,为第个节点的输入量的方差。RBF网络的输出表达式为:设有个输入样本及相应的个输出样本在输入时RBF网络的输出记为。那么确定RBF网络的结构和参数的目的是使得误差函数:达到最小值。2. 基函
16、数中心,输入量方差与隐含层和输出层之间的权值得确定:(I)基于K-均值聚类方法求取基函数中心(1)网络初始化。随机选取个训练样本作为聚类中心。(2)将输入的训练样本集合按最近邻规则分组。 按照与中心之间的欧氏距离将分配到输入样本的各个聚类集合中。(3)重新调整聚类中心。 计算各个聚类集合中训练样本的平均值,即新的聚类中心,如果新的聚类中心不再发生变化,则所得到的即为RBF神经网络最终的基函数中心,否则返回(2),进入下一轮的中心求解。(II)求解方差 RBF神经网络的基函数为高斯函数时,方差可由下式求解:式中为中所选取中心之间的最大距离。(III)计算隐含层与输出层之间的权值 隐含层至输出层之
17、间神经元的连接权值可以用最小二乘法直接计算得到,计算公式如下:3. RBF网络学习算法在MATLAB中实现: (I)函数可以建立一个径向基神经网络,格式为:为输入向量,为目标向量,为圴方误差,默认为0,为径向基函数的分布密度,默认为1,为神经元的最大数目,为两次显示之间所添加的神经元数目。 (II)函数可以求出径向基神经网络的输出值,格式为: 为径向基神经网络,为输出值(向量),为输入值(向量)。(II) BP算法: 1. BP算法图解:敌机到安全区距离导弹最小的发射速度人工神经网络巡逻飞机与敌机距离输出项多个保存数据 图-62. 改进BP算法原理改进的BP算法,应用带动量的批处理梯度下降的思
18、想,即每一个输入样本对网络并不立即产生作用,而是等到全部输入样本到齐,将全部误差求和累加,再集中修改权值一次,即根据总误差修正权值,以提高收敛速度,在调整权值时加入动量项,降低网络对于误差曲面局部细节的敏感性,有效抑制网络限于局部极小,此时,为动量系数,加入的动量项相当于阻尼项,以减少学习过程的振荡趋势,从而改善收敛性。下面为其算法:(1) 初始化权值和阈值;(2) 给定输入和目标输出;(3) 计算实际输出:(4) 修正权值,比传统的算法增加了动量项,加权调节公式为: 若为输出节点,则 若为隐节点,则(5) 若达到误差精度或循环次数要求,则输出结果,否则返回到(2)。用MATLAB神经网络工具
19、箱进行设计与分析求解:(1)网络构建和初始化在MATLAB中改进的BP 算法进行测试、仿真,第一步是建立网络对象。函数建立一个可训练的前馈网络,这需要4个输入参数;第1个参数是一个的矩阵以定义个输入向量的最小值和最大值;第2个参数是一个表示每层神经元个数的数组;第3个参数是包含每层用到的转移函数名称的细胞数组;最后1个参数是用到的训练函数的名称。命令为:这个命令建立了网络对象并且初始化了网络权值和偏置,它的输入是两个原属的向量,第1层有3个神经元,第2层有1个神经元。第1层的转移韩式是,输出层的转移函数是。输入向量的第1个元素的范围是-1到2,输入向量的第2个元素的范围是0到5,训练函数是。接
20、下来就可以进行训练了。(2) 网络训练带动量的批处理梯度下降法用训练函数触发。如果训练次数超过,则性能函数低于,梯度值低于,或者训练时间超过训练就会结束。六、模型的评价与改进问题一:模型A(微分方程模型):优点:该模型能够通过微分方程模型的建立,在现有的条件下,较为准确的确定发射该种导弹击毁敌机的条件。缺点:该模型忽略了敌机和导弹飞行时速度的变化。问题二:模型B(改进的微分方程模型):优点:该模型在原来模型A的基础上,通过三维向二维的转变,简化了问题的求解过程,大大减少了运算量。缺点:该模型在敌机与导弹的速度的考虑上不够严密,存在较大的偶然性。问题三:模型C(比例制导模型):优点:将导弹追击敌
21、机的整个过程用三维图像画出。本模型使用方便,要判断导弹需要多大速度才能击落敌机,只需运行程序,输入N和M,速度v,高度H四个值即可,程序会输出能击中敌机的最小速度和三维模拟图。考虑到了导弹和敌机接近时不看做质点。缺点:本模型没有考虑导弹的速度大小和敌机速度会改变,与真是情况有一定偏差。模型D(RBF-BP神经网络模型):优点:能够自主地不断学习,不断逼近真实的关系曲线。是从模糊到精确的一个模型。这能够在一定程度上保证随机的意外的可能,更符合实际。缺点:因为RBF模型在N数值较大时运算时间较长,以至于收集到的关于(M,N)与V的关系的数据范围比较狭窄,导致BP模型的精确范围也比较狭窄。模型的该进
22、:导弹具有推进器,可以考虑速度大小按某个函数变化,导弹速度大小在一定时间内匀速增加。导弹在追击过程中,始终对准敌机,改进方向可以是使导弹一直对准敌机前方一点点的地方,这样在最后的时候可以增加打中的概率。七、 参考文献1 吴建成,高等数学,北京:高等教育出版社,2005.62 吴 义 明 , 齐 欢,地空导弹追踪法的改进,华 中 科 技 大 学 系 统 工 程 研 究 所 , 湖 北 武 汉 4300743 李继成,数学实验,北京,高等教育出版社,2006.104 朱文兴, 龙艳萍, 贾磊 基于RBF 神经网络的交通流量预测算法 山东大学学报(工学版) 2007年8月 第37卷第4期5 王高雄,
23、周之铭,常微分方程,北京:高等教育出版社,2006.6 戴嘉尊,邱建贤,微分方程数值解法,南京:东南大学出版社,2003.7 马涛.数字化大学物理,杭州,浙江大学出版社,20068 2.5径向基函数神经网络模型与学习算法 ppt 9 焦李成 神经网络模型的结构和算法的分离J 北京理工大学学报, 2001 八、 附录附表-1clear allN=input(输入N的值(单位米) N=);M=input(输入M的值(单位米) M=);H=input(输入高度H(单位米) H=);v=input(输入敌机的速度(米/秒) v=);x(1)=-N;y(1)=0;z(1)=0;%导弹初始位置r(1)=s
24、qrt(N2+H2);theta(1)=0;phi(1)=H/r(1);u=sqrt(N/100)2+(H/100)2)for t=1:300 tar(:,t)=0;v*t;H;%敌机随时间变化规律 mis(:,t)=x(t);y(t);z(t);%导弹随时间变化规律 r(t)=sqrt(tar(1,t)-mis(1,t)2+(tar(2,t)-mis(2,t)2+(tar(3,t)-mis(3,t)2);%导弹与目标距离 phi(t)=asin(tar(3,t)-mis(3,t)/r(t);%仰角 theta(t)=atan(tar(2,t)-mis(2,t)/(tar(1,t)-mis(1
25、,t);%与x轴夹角 dx=N/100*cos(phi(t)*cos(theta(t); dy=N/100*cos(phi(t)*sin(theta(t); dz=H/100*sin(phi(t); x(t+1)=x(t)+dx; y(t+1)=y(t)+dy; z(t+1)=z(t)+dz; if r(t)3; break; endendif v*tshenjing2. shenjing.m文件中的程序:clear;N=input(请输入N!n);V=input(请输入速度!n);Vf=0.005;X=;Y=;m=0;c=-N;d=0;Vx=V;Vy=0;X=X,c;Y=Y,0;for h=
26、1:1000 c=c+Vx; d=d+Vy; m=m+Vf; X=X,c; Y=Y,d; if dm break; end Vx=-V*c/(m-d)2+c2); Vy=V*(m-d)/(m-d)2+c2);endnet=newrb(X,Y,0,0.5,h,h);%以 为输入向量, 为目标向量建立一个径向基神经网络,该网络要求的均方误差为0,径向基函数的分布密度为0.5,神经元的最大数目为 ,两次显示之间所添加的神经元数目为 。其中 为导弹横坐标的l N矩阵, 为导弹纵坐标的l N矩阵。t=sim(net,X);%求出 对应的输出矩阵 。plot(X,t,*-,X,Y,r);%以*形式画出以
27、为横坐标, 为纵坐标的曲线,以红线形式画出以 为横坐标, 为纵坐标的曲线。M=sim(net,0);3. 运行结果:请输入N!1请输入速度!0.01图形解说:带星号的曲线是RBF网络的输出曲线,而红色的曲线是理想曲线。M值为0.26444。4. 不同(N,V)对应的M表格如下:V N11.11.21.31.41.50.0060.481280.60120.743730.918911.12521.39070.0070.396730.486310.597330.721430.865531.03410.0080.339110.4160.503390.602370.714590.842020.0090.
28、296890.362730.436780.613710.716640.010.264440.322170.386780.458730.538440.626870.0110.238620.290130.347520.411120.481290.558430.0120.217540.264150.315870.372960.435770.50442附表-3BP神经网络部分的程序:1. 主程序: BP2. BP.m文件中程序如下: clear;Y=0.006:0.001:0.012;Y=Y,Y,Y,Y,Y;%存放速度数值的矩阵。X=0.48128,0.39673,0.33911,0.29689,0.
29、26444,0.23862,0.21754,0.6012,0.48631,0.416,0.36273,0.32217,0.29013,0.26415,0.74373,0.59733,0.50339,0.43678,0.38678,0.34752,0.31587,1.1252,0.86553,0.71459,0.61371,0.53844,0.48129,0.43577,1.3907,1.0341,0.84202,0.71664,0.62687,0.55843,0.50442;%存放的矩阵。T=1,1,1,1,1,1,1,1.1,1.1,1.1,1.1,1.1,1.1,1.1,1.2,1.2,1
30、.2,1.2,1.2,1.2,1.2,1.4,1.4,1.4,1.4,1.4,1.4,1.4,1.5,1.5,1.5,1.5,1.5,1.5,1.5;%存放的矩阵。M=X;T;%把与的矩阵合并成2lN的矩阵。net=newff(0.2 1.4;1 1.5,1,1,tansig,purelin,traingd);%这个命令建立了网络对象并且初始化了网络权值和偏置,它的输入是两个原属的向量即与的矩阵,第1层有1个神经元,第2层有1个神经元。第1层的转移韩式是,输出层的转移函数是。输入向量的第1个元素的范围是0.2到1.4,输入向量的第2个元素的范围是1到1.5,训练函数是。接下来就可以进行训练了。
31、net.trainParam.show=1000;%每1000次训练显示1次。net.trainParam.epochs=20000;%训练20000次。net.trainParam.goal=1e-6;net=train(net,M,Y);%开始训练。JJ=0.006,0.007,0.008,0.01,0.011,0.012; %用来检验精确度的的理想矩阵。JY=0.91891,0.72143,0.60237,0.45873,0.41112,0.37296 1.3,1.3,1.3,1.3,1.3,1.3;%用来检验精确度的与的矩阵。t=sim(net,JY);%求出相应于的输出矩阵。t-JJ%输出输出矩阵与理想矩阵的差。3. 运行结果: ans = 0.0021 0.0013 0.0006 -0.0011 -0.0019 -0.0028图形解说:目标是要达到1e-006,现在达到3.51915e-006。