关于对《弹道导弹攻防对抗的建模与仿真》一书中部分章节模型的Python复现

Attack-Defense

Attack-Defense是对《弹道导弹攻防对抗的建模与仿真》(Attack-Defense Counterwork Modeling and Simulation of Ballistic Missile)一书中部分章节模型的Python复现。

本书作者:罗小明,出版社:国防工业出版社,文章内容属非涉密范畴,原书可在淘宝、京东、咸鱼等多家APP上购买查阅。

《弹道导弹攻防对抗的建模与仿真》主要是为弹道导弹攻防作战效能评估、体系效能评估、体系优化提供基础数学模型和计算方法,并给出了建模和仿真的基础知识和总体思路,力求反映或揭示卫星系统信息支援下弹道导弹攻防作战的一些客观规律,定量分析满足不同目标要求时所需要的各种弹道导弹数量,以及用于打击各种目标的弹道导弹的种类和数量。

若模型的建立存在问题或错误,请在Issues、 Blog(https://blog.csdn.net/weixin_40485904) 或WeChat(wwy18795980897) 上联系我,我将在第一时间进行整改维护,感谢!

1.战术弹道导弹武器系统作战效能评估的系统动力学模型

使用战术弹道导弹武器系统作战效能评估的系统动力学模型的Python复现.py脚本,该脚本是对书中第8章《战术弹道导弹武器系统作战效能评估的系统动力学模型》的复现。

系统的效能依赖于系统的结构,其效能的发挥以及增长又需要通过系统内、外部信息、物质流的交互来实现。因卫星信息支援下战术弹道导弹武器系统作战效能评估受到许多环节和因素的影响,且相互作用复杂,属于开放式反馈系统,要描述这样的系统需要多个状态变量,反映多个变量因果关系的模型必定是高阶次的非线性问题;多个决策者、多种功能又使得系统有多个反馈回路。这里主要结合作者观点,针对影响弹道导弹系统动力学模型建立DYNAMO方程式,根据用户输入,分析各类因素对系统动力学模型的影响情况,并绘制成图。

相关流程:

下图是把因果关系转换为DYNAMO语言的流程图,亦是对输入量和各因素之间相互关系所进行的量化。

在这里插入图片描述

此模型的难点在于DYNAMO方程式的建立,变量庞大,幂次较高,且相互间均有影响,如何妥善区分各变量之间的关系、变量与时间的关系、变量与常量之间的关系是解决模型的关键所在。其中,流位变量和流率变量计算难度大,书中方程式仅提供初始值和与其他变量间的关系,非计算机模型难以准确的计算出相应结果。此外,涉及比例关系的K系列值,文中均未提到具体范围,可能会对模型的结构造成影响。

仿真效果(K值不贴合模型,导致出现负数):

1蓝方现存兵力水平-时间

2蓝方现存兵力水平-红方侦察卫星能力

3红方射前生存弹道导弹数-时间

4红方成爆弹量-时间

2.有突防措施条件下多枚战略弹道导弹突防反导防御系统体系效能模型

使用有突防措施条件下多枚战略弹道导弹突防反导防御系统体系效能模型的Python复现.py脚本,该脚本是对书中第11章《有突防措施条件下多枚战略弹道导弹突防反导防御系统体系效能模型》的复现。

诱饵是一种战略弹道导弹最常使用的突防措施。这里主要结合作者观点,建立体系效能模型,定量研究多弹头和诱饵的影响下,多枚战略弹道导弹在反导防御系统采取不同的拦截方式和拦截策略情况下的突防效能,并从防御方的角度,建模分析了反导防御方要达到一定的防御效能所需的拦截弹数。在建模之前,给出以下假设条件:

(1)各枚战略弹道导弹弹头之间相互无影响。
(2)反导防御系统在某一段拦截时,若采取相同的拦截策略且在该段拦截弹未消耗完的条件下,采取相同突防措施的各枚战略弹道导弹弹头在该段的突防概率相同。

相关流程:

导弹进入助推段、上升段、中段和末段的模拟流程图如下图所示。

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

与第8章相比,公式幂次有所降低,但大量的公式、多变的因素、复杂的流程是脚本编写时最大的难点,无法使用函数、类等方法简化模型,且要考虑多种情况下子模型间的参数传递和数值干扰,确实是一个不小的挑战。此外,书中对中段路基拦截系统和中段海基拦截系统区分不大,为避免给使用者带来疑问或困扰,模型中提到的中段拦截系统均为路基。

仿真效果:

终端输入命令

'二拦一'策略时弹头突防效率与反导防御系统对弹头发现、跟踪、识别和单枚拦截概率关系图(中段)

'四拦一'策略时弹头突防效率与反导防御系统对重诱饵发现、跟踪、识别和单枚拦截概率关系图(中段)

'射击——观察——射击'策略时弹头突防效率与反导防御系统对轻诱饵发现、跟踪、识别和单枚拦截概率关系图(中段)

项目地址:

GitHub:https://github.com/wangwei39120157028/Attack-Defense

Gitee:https://gitee.com/wwy2018/Attack-Defense

欢迎start!!!

  • 1
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是MATLAB巡航导弹弹道仿真代码的一个示例: ``` % 巡航导弹弹道仿真 % 输入参数 v0 = 200; % 初始速度(m/s) gamma0 = 5*pi/180; % 初始俯仰角(rad) h0 = 10000; % 初始高度(m) phi0 = 0; % 初始偏航角(rad) alpha = -2*pi/180; % 攻角(rad) delta = 5*pi/180; % 偏转角(rad) T = 50; % 模拟时间(s) dt = 0.01; % 时间步长(s) % 常数定义 g = 9.81; % 重力加速度(m/s^2) R = 6371e3; % 地球半径(m) Jx = 1e6; % X轴转动惯量(kg*m^2) Jy = 1e6; % Y轴转动惯量(kg*m^2) Jz = 2e6; % Z轴转动惯量(kg*m^2) m = 1500; % 导弹质量(kg) S = 10; % 翼展面积(m^2) b = 5; % 翼展(m) c = 2; % 翼弦(m) rho = 1.225; % 空气密度(kg/m^3) CD0 = 0.05; % 零升力阻力系数 CLalpha = 2*pi; % 升力系数斜率 K = 0.02; % 换算系数 % 状态变量初始化 q = 0; % 动压(Pa) v = v0; % 速度(m/s) gamma = gamma0; % 俯仰角(rad) h = h0; % 高度(m) phi = phi0; % 偏航角(rad) p = 0; % X轴角速度(rad/s) q = 0; % Y轴角速度(rad/s) r = 0; % Z轴角速度(rad/s) N = 0; % X轴力(N) L = 0; % Y轴力(N) D = 0; % Z轴力(N) Mx = 0; % X轴力矩(N*m) My = 0; % Y轴力矩(N*m) Mz = 0; % Z轴力矩(N*m) % 循环模拟 for t = 0:dt:T % 计算状态量 q = 0.5*rho*v^2; alpha = delta - gamma; CL = CLalpha*alpha; CD = CD0 + K*CL^2; L = q*S*CL; D = q*S*CD; N = m*g - q*S*cos(gamma); Mx = q*S*b*CL*cos(gamma); My = q*S*c*CL*sin(gamma); % 计算运动学量 p_dot = (My - Jz*r*q)/Jx; q_dot = (Mx - Jx*p*r)/Jy; r_dot = (N - L)/Jz; phi_dot = p + tan(gamma)*(q*sin(phi) + r*cos(phi)); gamma_dot = q*cos(phi) - r*sin(phi); h_dot = v*sin(gamma); v_dot = (N - D - m*g*sin(gamma))/m; % 更新状态量 p = p + dt*p_dot; q = q + dt*q_dot; r = r + dt*r_dot; phi = phi + dt*phi_dot; gamma = gamma + dt*gamma_dot; h = h + dt*h_dot; v = v + dt*v_dot; end ``` 此代码基于简化的模型进行仿真,因此仅供参考。如果需要更精确的仿真结果,请使用更复杂的模型和算法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值