基于常微分方程求解算法的某炮后坐装置三面问题求解_第1页
基于常微分方程求解算法的某炮后坐装置三面问题求解_第2页
基于常微分方程求解算法的某炮后坐装置三面问题求解_第3页
全文预览已结束

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

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

次近似法反后坐装置是火炮的心脏,是火炮非常重要的组成部分。火炮的反后坐装置设计自然也是火炮设计的一个重要内容。反后坐装置设计包括正面和反面两类问题,正面问题指在正常射击条件下,对确定的后坐阻力规律确定驻退机的结构尺寸,尤其是流液孔的变化规律;反面问题则指在各种射击条件下,对已知驻退机结构尺寸求解实际后坐运动诸元。反面问题不但是正面设计的基础,而且可以检验火炮在各种极限射击条件及各种结构参数变化情况下的受力状况,因而是火炮设计和火炮仿真的重要内容。火炮反后坐装置反面问题是一个典型的二阶微分方程,但由于方程的右函数涉及火药气体燃烧、液流阻力等复杂过程,某些参量只能表示为时间或后坐行程的表格函数,故不能用解析解法,只能采用数值积分。在过去很长一段时间内,许多制式火炮的反后坐装置反面计算均采用二次近似法,即通过引入自由后坐的概念避开对表格函数的积分用人工逐点计算(该方法目前还见诸于相关专业的教材),这种方法自然精度很低。在近些年,也有一些文献借用一些微分方程算法如四阶Runge-Kutta法、欧拉法等借助计算机对这一问题进行求解。但这些电算方法多数还是简单的定步长算法,效率不高,另外采用方法也带有极大的随意性,甚至还有人采用精度极低的矩形或梯形近似积分方法,更重要的是这些方法很少对求解精度加以讨论和控制。总之,由于缺乏对该问题数值算法的认真研究,使这一问题的求解长期处于一种精度和效率不高的状态。MATLAB是目前世界上最有影响的专业数值计算软件包,提供了目前国际上最先进的数值计算方法,尤其是它将一些很专业的算法做成函数形式,用户只需一个命令即能开展复杂的运算,大大提高了用户的使用便捷性。考虑将MATLAB引入火炮反后坐装置反面计算必将能极大提高这一问题的计算精度和效率。本文将MATLAB6.1用于某种典型火炮的反后坐反面问题计算的实践证明了该种做法的可行性和有效性。1复进运动方程由于火炮的反后坐装置不止一种类型,本文仅就最典型的一种为例说明。火炮的运动包括后坐和复进两个过程。后坐时的运动微分方程为复进时的运动微分方程为方程组(1)中,X为后坐位移,V为后坐速度;方程组(2)中,U为复进位移,ξ为复进速度,其它各参量的含义和表达式参见文献,在此不在赘述。为简化编程工作,可将方程组式(1)、式(2)合并成一个方程组(3)其中,V>0时,表示后坐过程;V<0时,表示复进过程;YHS(X,V)参照V的符号不同分别根据式(1)、式(2)定义。2matlab中变步长求解器的使用作为专业的数值计算软件包,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法缺省求解参数求解该问题时精度有待进一步提高。尽管这里用缺省参数求解结果与改变求解步相对误差后最终稳定的结果相差不是很大,但可以试想如果用二次近似法或精度极低的矩形或梯形近似积分方法求解同时不讨论求解精度将会引入多大的精度损失。借助MATLAB语言提高求解精度还表现在不同求解方法的互相验证,对该问题,由于规模不是很大,借助MATLAB6.1提供的7种变步长求解器,通过修改求解步相对误差,最终最大后坐长度均趋于同一个值。改变求解器和求解参数可以通过修改主程序实现,但更方便的是,建立SIMULINK模型后通过修改求解参数面板的设定来实现,这将在后面讨论。应指出的是,通过图1可以看出,该问题带有一定的刚性,但刚性不是很强,故借助刚性求解器如ODE15s或非刚性求解器ODE23(可用于中等刚性问题)求解时,求解步相对误差不必很小就可得到稳定解。4模型框图的建立火炮反后坐装置反面问题只是二阶微分方程,问题的规模较小,因而其SIMULINK建模的框图建立比较简单。但由于右函数十分复杂,模型框图必须借助S-函数才能完成,由于我们前面已经建立了右函数的MATLAB函数,故只需定义好接口即可。火炮反后坐装置反面问题的SIMULINK框图及如图2所示。S-函数recoil如下定义:5建立待求解复杂问题的sim对将专业的数值计算软件MATLAB中最新的高效的微分方程求解器用于火炮反后坐装置反面计算这一重要领域,可以大大提高计算精度和计算效率(这一点业已由MATLAB本身先进的求解器和使用便捷性得以保证)。借助S-函数建立待求解复杂问题的SIMULINK仿真环境,可以使用户更直观、更方便好地利用MATLAB的求解环境来讨论自己的求解结果。MATLAB作为目前世界上最有影响力的数值计算软件,其强大的数值计算和绘图能力以及便于扩充、使用便捷的特性已使其成为控制领域、信号领域不可缺少的工具

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论