外弹道设计资料.doc

  1. 1、本文档共12页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
南 京 理 工 大 学 外弹道设计理论与方法 课程作业 学 生 姓 名: 学 号: 学 院: 课 程: 外弹道设计理论与方法 2015 年 1 月 作业:完成小口径火炮用榴弹的外弹道优化设计数学模型的程序设计。要求:(1) 模型:, 分别代表无量纲化后的变量;(2) 设计变量取m,ln,lb,lc;(3) 约束条件R域为: (4) 已知条件:,,m,, ,, 。 备注:用0.kg无量纲化,用d=0.03米无量纲化 目标函数 , 分别代表无量纲化后的变量;约束条件R域为: 弹丸飞行时间少 弹丸气动外形好(阻力小); 弹丸飞行稳定; 初速与弹重组合较佳; 达到目标时的存速较大。 可以建立如下优化模型,并化为标准形式(1)。 目标函数(1) 优化模型中的输入参量为,输出的优化目标为飞行时间最小。 优化模型可以整理为图1所示的流程。 图 1 优化流程图 输入初始参数后,优化程序调用优化算法和外弹道子程序,并进行循环计算判定优化结果是否达到所需的精度。优化程序的两个子模块是优化过程的关键:优化算法和外弹道解算。前者决定着初始点按照何种规则向最优解逼近,后者用于计算特定输入参数对应的弹道飞行时间。 4.2 外弹道解算模块 本文模型针对的是小口径榴弹的飞行时间解算。一方面外弹道优化要有很快的计算速度;另一方面弹丸在良好的飞行状态下,质点弹道基本上反映了弹丸的实际飞行情况,因而在外弹道优化设计中采用质点弹道即可。外弹道模块的解算过程为:外弹道函数的输入为优化函数的自由变量矩阵X0,分别对应着弹丸质量、弹头部长度、弹底部长度和弹尾部长度,并将4个自由变量分别进行了无量纲化处理,输出为弹丸在空中的飞行时间t。 4.3 约束坐标轮换法模块 图 2 坐标轮换法示意图 外弹道优化设计问题一般归结为有约束非线性规划问题,有着自身的复杂性。对于有约束的非线性规划问题,在最优设计中有一个基于惩罚函数和障碍函数的序列无约束最小化方法,把求解一个有约束问题转化为求解无序约束的最优化问题。由于惩罚函数具有简单、易行等特点,在外弹道优化设计中,研究人员常采用惩罚函数法将有约束最优化问题转化为无约束最优化问题,然后采用优化理论中的直接方法,如模式搜索法、powell法等求解。 本文模型的函数为质点外弹道方程组,函数形式较为复杂,故采用简单有效的坐标轮换法。坐标轮换法的基本思想如图2所示,即,对于多变量输入,可以先选择一维方向(将其他变量视为常值),按照一定的搜索方向从初始点开始搜索对应于目标的最优点。然后,用得到一维方向最优解去替代变量X中的对应值,再选择第二个方向进行搜索最优解,依次类推。在搜索完所有维度后对搜索后的最优解和搜索前的初值经行比较,如果满足收敛的精度要求则停止搜索,如不满足则进行下一轮的搜索。 五、优化模型的程序实现 选定好优化方法后,采用matlab软件进行相应的程序编制,以完成所需达到的计算要求。 5.1 程序的图形用户界面设计 本文设计的界面如图所示: 5.2 程序的运行 打开程序后,先核对程序的默认参数,然后点击“开始优化”按钮即可进入外弹道的优化过程,如上图所示。 优化结果 运行编制好程序,经过一定时间的计算得到如下结果: 附录 1.外弹道计算程序(fwddt.m) function time = fwddt(var) m = var(1);lamnaN = var(2);lamnaB = var(3);lamnaC = var(4); d = 0.035; X = [0,0]; Sd = 2000; Energy = 202500; theata = 65; g = 9.8; arc = 0;h = 0.02;n = 0;iteraTime = 0; tao0 = 288.9; rou0 = 1.2063; S = pi * d^2 / 4; V = sqrt(2 * Energy / m); x = X(:,1);y = X(:,2); theata = deg2rad(theata); Cx0n =[ 1.1500 0.3830 1.2500 0.3820 1.3500 0.3750 1.4500 0.3660 1.5500 0.3560 1.6500 0.3460 1.7500

文档评论(0)

335415 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档