基于常微分方程求解算法的某炮后坐装置三面问题求解.docxVIP

基于常微分方程求解算法的某炮后坐装置三面问题求解.docx

  1. 1、本文档共3页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于常微分方程求解算法的某炮后坐装置三面问题求解 次近似法 反后坐装置是火炮的心脏,是火炮非常重要的组成部分。火炮的反后坐装置设计自然也是火炮设计的一个重要内容。反后坐装置设计包括正面和反面两类问题,正面问题指在正常射击条件下,对确定的后坐阻力规律确定驻退机的结构尺寸,尤其是流液孔的变化规律;反面问题则指在各种射击条件下,对已知驻退机结构尺寸求解实际后坐运动诸元。反面问题不但是正面设计的基础,而且可以检验火炮在各种极限射击条件及各种结构参数变化情况下的受力状况,因而是火炮设计和火炮仿真的重要内容。 火炮反后坐装置反面问题是一个典型的二阶微分方程,但由于方程的右函数涉及火药气体燃烧、液流阻力等复杂过程,某些参量只能表示为时间或后坐行程的表格函数,故不能用解析解法,只能采用数值积分。在过去很长一段时间内,许多制式火炮的反后坐装置反面计算均采用二次近似法,即通过引入自由后坐的概念避开对表格函数的积分用人工逐点计算(该方法目前还见诸于相关专业的教材),这种方法自然精度很低。在近些年,也有一些文献借用一些微分方程算法如四阶Runge-Kutta法、欧拉法等借助计算机对这一问题进行求解。但这些电算方法多数还是简单的定步长算法,效率不高,另外采用方法也带有极大的随意性,甚至还有人采用精度极低的矩形或梯形近似积分方法,更重要的是这些方法很少对求解精度加以讨论和控制。总之,由于缺乏对该问题数值算法的认真研究,使这一问题的求解长期处于一种精度和效率不高的状态。MATLAB是目前世界上最有影响的专业数值计算软件包,提供了目前国际上最先进的数值计算方法,尤其是它将一些很专业的算法做成函数形式,用户只需一个命令即能开展复杂的运算,大大提高了用户的使用便捷性。考虑将MATLAB引入火炮反后坐装置反面计算必将能极大提高这一问题的计算精度和效率。本文将MATLAB6.1用于某种典型火炮的反后坐反面问题计算的实践证明了该种做法的可行性和有效性。 1 复进运动方程 由于火炮的反后坐装置不止一种类型,本文仅就最典型的一种为例说明。火炮的运动包括后坐和复进两个过程。后坐时的运动微分方程为 复进时的运动微分方程为 方程组(1)中,X为后坐位移,V为后坐速度;方程组(2)中,U为复进位移,ξ为复进速度,其它各参量的含义和表达式参见文献,在此不在赘述。 为简化编程工作,可将方程组式(1)、式(2)合并成一个方程组(3) 其中,V0时,表示后坐过程;V0时,表示复进过程;YHS(X,V)参照V的符号不同分别根据式(1)、式(2)定义。 2 matlab中变步长求解器的使用 作为专业的数值计算软件包,MATLAB6.1提供了当前最先进的数值计算方法,就求解微分方程而言,它就提供了多种高效的求解器,包括求解非刚性连续方程的ODE45(显式四级五阶Runge-Kutta法)、ODE23(显式二级三阶Runge-Kutta法)、ODE113(变阶Adams-Bashforth-Moulton法)和求解刚性连续方程的ODE15s、ODE23s、ODE23t、ODE23tb。这些基本都是变步长求解器。在MATLAB6.1基本函数库里定步长求解器似乎取消了,但在SIMULINK中仍保留了欧拉法、改进欧拉法、四阶Kunge-Rutta等5种定步长求解器。 由于任何一种求解器都不可能解决所有的微分方程求解问题,MATLAB提供的这些求解器为用户能最好地解决自己的实际问题提供了可能。不仅如此,MATLAB还对用户该如何选择这些求解器以及确定求解器的参数提供了较详细的帮助文档,指导用户在自己的需要精度、稳定性和效率等方面做到最佳的平衡。 用MATLAB语言编制程序固然也可以选择不同方法和不同参数求解微分方程,但使用最方便的还是SIMULINK的仿真环境,在该环境下,只要建立了仿真框图,即可通过菜单方便地选择各种求解器和求解参数,为用户选择最佳的求解方案提供了最大的方便。这也是本文考虑建立火炮反后坐反面问题的SIMULINK模型的原因。 3 基于matlab的风压快速求解算法 依据微分方程(3)用MATLAB语言编制了计算右函数中各参量的函数及方程的右函数,并用主程序调用,用4级5阶Runge-Kutta法,缺省求解参数计算得出的后坐速度和位移随时间的变化关系如图1所示。结果与实际比较吻合。 传统的求解也许到此处就结束了,但借助MATLAB语言,可以对求解结果的精度进行近一步的讨论。如果以最大后坐长度这一重要的参数作为依据,当改变4级5阶Runge-Kutta法的求解步相对误差时,使其逐渐变小时,会发现最大后坐长度会发生变化,并最终趋于稳定。这说明用Runge-Kutta法缺省求解参数求解该问题时精度有待进一步提高。尽管这里用缺省参数求解结果与改变求解步相对误差后最终稳定的结果相差不是很大,但可

文档评论(0)

xcwwwwws + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档