《系统仿真与matlab》综合试题
题目:射击问题
编号:24
难度系数:*****
姓名酱油帝
班级自动化100X
学号
**********************
成绩
目录
一.坦克射击问题仿真建模过程
模型建立与分析
二.仿真的思路
1.程序的关键
2.程序的实现方式
产生偏差按正态分布变化的“炮弹”
统计击中靶子的“炮弹”
3.功能
射弹散布偏差系数的可调性
射击靶子时的瞄准功能
结果的显示与分析
三.程序运行指南
程序运行流程总览
登陆界面
仿真演示界面
结果分析部分
四.小结
一.射击问题仿真建模过程
前言
命中概率是一定射击条件下射弹命中目标的客观可能性。它是评价直瞄武器射击效率的重要指标。命中概率的大小决定于目标的大小、平均弹着点与目标中心的关系及射向与目标的关系等。目前,在火力运用的研究和实战模拟中对命中概率的求法通常认为误差来源两个方面,即射击时瞄准手的瞄准误差与炮弹飞行过程中的散布误差。其中,瞄准手的瞄准误差为第一个阶段,它服从正太分布,而炮弹的散布误差则是第二阶段,它以第一阶段的瞄准点作为第二阶段的期望,且第二阶段本身也服从正太分布。
1,模型建立与分析
对题目进行理解,直瞄武器射击靶子的过程分析如下:
第一阶段:瞄准靶子。第二阶段:发射炮弹。所以误差分析与过程仿真也分为两个部分:瞄准偏差和射弹散布偏差。
①
瞄准偏差又分为方向综合误差的公算偏差和高低综合误差的公算偏差。这两个因素服从正态分布且相互独立。本阶段的期望是瞄准手的视野焦点,也就是本次仿真过程输入的瞄准点。本阶段的标准差是有用户输入的误差系数u1(水平方向系数),u2(高低方向系数),v1(水平方向指数),v2(高低方向指数)决定。
②
射弹散布偏差分为方向上的散布公算偏差和高低上的散布公算偏差。这两个因素服从正态分布且相互独立。且射弹散布偏差的期望为前一个正态分布过程的随机结果,标准差为参考资料给定的多项式计算决定。 两个阶段结束共同作用后,通过蒙特卡洛算法,即重复多次上述过程,以大容量样本进行模拟仿真,计算击中概率。
建模过程
第一阶段:本次仿真过程输入的四个误差系数分别是u1,u2,v1,v2。其中u1是水平方向上武器的瞄准系数,v1是武器瞄准指数,u2是高低方向上武器的瞄准系数,v2是武器瞄准误差的指数,也既是:
方向综合误差的公算偏差 h v x h h E u e =
高低综合误差的公算偏差 r v x r r
E u e = 其中,h u 为u1,r u 为u2,V H 为v1, V R 为v2 ,E H 是水平方向的标准差,E R 是高低方向的标准差。
第二阶段:在第一阶段的基础上,第一阶段产生的随机瞄准结果既是第二阶段武器散布误差的期望,而第二阶段的标准差可以表示为:
方向上的散布公算偏差h
b h h B a x =
高低上的散布公算偏差r b r r B a x
上面的经验公式可以由大量实际试验获取,我在参考文献中获得经验公式可以表示为:
水平方向的散布误差:
vv_1=(0.0731*d^4-0.4313*d^3+1.0370*d^2-0.5187*d+0.4146)/(sqrt(2));
vv_1=(0.1075*d^4-0.6366*d^3+1.5696*d^2-0.9909*d+0.5703)/(sqrt(2));
vv_1=(0.0820*d^4-0.4660*d^3+1.1287*d^2-0.5026*d+0.4218)/(sqrt(2));
vv_1=(0.1052*d^4-0.6238*d^3+1.5344*d^2-0.9046*d+0.5550)/(sqrt(2));
上面四个经验公式分别为静对静,静对动,动对静,动对动。
高低方向的散布误差:
vv_2=(0.0862*d^3-0.1308*d^2+0.6176*d+0.0074)/(sqrt(2));
vv_2=(0.0993*d^3-0.0996*d^2+0.5837*d+0.0145)/(sqrt(2));
vv_2=(0.0950*d^3-0.1793*d^2+0.7011*d+0.0021)/(sqrt(2));
vv_2=(0.1479*d^3-0.3453*d^2+0.9599*d+0.1170)/(sqrt(2));
上面四个经验公式分别为静对静,静对动,动对静,动对动。
vv1是武器散布误差在水平方向的标准差,vv2是武器散布误差在高低方向的标准差,第一阶段的产生的随机瞄准结果为第二阶段的期望。
当两个阶段共同作用后,会产生一个随机点,我们只需要判断该点是否在坦克这个封闭图形中,就能判断是否命中目标。但一次实验远远不能反映真实情况,所以我们需要采用蒙特卡洛算法,进行多次模拟(通常在10000次以上),方能反映真实的结果。
二 仿真的关键
1.仿真的关键之处
用户输入数据的处理,两个阶段方差与期望值的确定;服从以给定期望与方差的正态分布的随机数的产生;封闭图形内点的判断;封闭图形内点个数的统计;改变瞄准点功能的实现。
以上关键之处通过网络查,已自行一一解决。大致处理流程如下:
获得用户输入数据,通过上述建模过程产生的公式,对用户输入进行处理,得到第一阶段的标准差,第二阶段的标准差,第一阶段的期望为瞄准点(瞄准点默认为(0,0),但在用户界面可以更改),第二阶段的期望为第一阶段产生的随机结果。我们采用normrnd 这个函数,产生服从正太分布的点,它的第一个参数为期望,第二个参数为标准差,第三个参数为产生点的个数,即模拟次数。 产生正太分布点以后,我们用inpolygon 函数判断是否击中,它的第一和第二个参数是产生的正太分布的子弹的横纵坐标,第三和第四个参数是表示封闭图形(即坦克)的矩阵,输出结果为当击中时,返回值为1,否则为0.由此我们通过对返回值进行sum 统计出总的击中次数,再除以总的发射子弹数(即模拟次数),即可得到击中概率。
而更改瞄准点可以通过改变第一阶段,即武器瞄准阶段的期望来实现。
数据统计可以使用图形化的界面表示,我采用了contourf 函数(等高线图)和surf 函数(三维曲线图)来对试验结果进行图形化的表示。
如何产生偏差按正态分布变化的“炮弹”
通过normrnd函数,可以产生给定期望和标准差的N个点,这是这次仿真试验的关键点,它的第一个参数为期望,第二个参数为标准差,第三个参数为产生点的个数,即模拟次数。期望,标准差的计算前已述及,此处不再赘述。
如何统计击中靶子的“炮弹”
我们用inpolygon函数判断是否击中,输出结果为当击中时,返回值为1,否则为0,然后用sum对返回值进行统计,即可得到总的击中次数。
功能:射弹散布偏差系数的可调性
这个为用户输入数据,也是题目要求的各项系数的可调性,通过接收用户输入的数据,产生本次仿真试验的期望,标准差和模拟次数。
射击靶子时的瞄准功能
通过接受用户输入的瞄准点,改变第一阶段(即武器瞄准阶段)的期望,可以更改武器瞄准的准星。
normrnd函数用法结果的显示与分析
我采用了contourf函数(等高线图)和surf函数(三维曲线图)来进行射击结果的图形化描述和分析。
三.程序运行指南
程序运行流程总览
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论