我的课题所研究的是次口径旋转弹。首先弄清次口径弹的概念,这是从穿甲弹的结构引 用过来的,我们知道穿甲弹其实是有两层弹头的,外层弹头体积很大,质量不大,说通俗点, 是为了将整颗炮弹和发射装置口径相配套,当穿甲弹被发射出去,击中目标后外层弹头留在 被击中的目标上,此时因为外层弹头受到阻力,内层尖锐的弹头受到的阻力小,从而内层弹 头和外层弹头分开,内层弹头会对目标造成毁灭性的打击。我们不直接发射内层尖锐弹头的 原因如下:我们有一个通俗的认知,火炮口径越大,炮弹飞的越远,这就是枪和炮的区别, 如果仅仅只发射内层弹头,那么发射速度小不说,还需要为它准备相应口径的发射器,这样 局限性大,而且还达不到摧毁敌人装甲的目的,穿甲弹也就不再是穿甲弹,仅仅只是一种大 口径机枪。
有了前面的知识,我们可以做出如下假设,次口径弹整体质量和正常弹相同的情况下, 用 150mm 口径的火炮来发射 130mm 的炮弹,那么 130mm 的炮弹可以得到相同速度、飞行 轨迹将更远。因为速度大,所以很容易联想到可以飞的更远,并且 150 口径的炮膛可以装载 更多的火药,所以,用 150 口径的炮管来发射 130mm 的炮弹应该可以获得更大的速度、更远 的距离。事实情况是否如此?本论文的核心是给出质点外弹道计算的程序并且对该假设的真 实性做出判断以及两种发射方式的差别做出稍许论述,。
2.必备软件和算法基础
2.1. MATLAB 简介
MATLAB 是 MATrix LABoratory(矩阵实验室)的缩写。一般介绍 MATLAB 时都会说 MATLAB 是一种高效的语言,我用了之后觉得是一种非常可视化的语言,类似于将自己脑海 里的算法用特定的语法规则写出来就行,并且 MATLAB 的语法规则很简单。对于 MATLAB, 想要深入掌握可能需要从头开始学起来,但是,对于我们只是将它当做解决问题手段的学生 来说,只需要简单了解基本的语法规则和操作步骤就可以上手来解决自己的问题。
MATLAB 最初的出现是因为 20 世纪 70 年代后期美国新墨西哥大学的教授克里夫·莫勒 尔为了给学生减轻繁重的编程负担,就用 fortran 语言为学生编写了线性代数软件包和特征值 计算软件包,这就是我们 MATLAB 最初的样子。
MATLAB 系统由以下五大部分组成,MATLAB 开发环境、MATLAB 数学函数库、 MATLAB 语言、MATLAB 图形处理系统、MATLAB 应用程序接口(API)。MATLAB 具有开 放性,其内部函数、主包文件和各种工具包文件,都是可读的、可修改的,这一点上,MATLAB 很人性化,如果我们发现它自带的程序并不符合我们的实际问题,那么我们可以在原有程序 的基础上对程序进行改编,使其更加符合我们所解决的实际问题,这样我们就可以构造成自 己专用的新工具包。
MATLAB 有以下的几个主要功能:计算复杂公式的能力、计算复杂公式的能力、绘制多 维图形、创建各种开发环境、插值和拟合等数据处理能力、使用工具箱处理特定领域的特定 问题的功能、系统建模、仿真和分析功能、建立自己喜欢的用户界面功能、将 MATLAB 的算 法与外部应用程序和各种计算机语言的集成功能。
2.2. 四阶龙格库塔法(Runge-Kutta)
Runge-Kutta 方法可以构造高精度方法来求解初值问题。在说 Runge-Kutta 法之前得了解 初值问题的含义。