2024年国赛高教杯数学建模D题反潜航空深弹命中概率问题解题全过程文档及程序

news/2025/2/26 22:49:36/

2024年国赛高教杯数学建模

D题 反潜航空深弹命中概率问题

原题再现

  应用深水炸弹(简称深弹)反潜,曾是二战时期反潜的重要手段,而随着现代军事技术的发展,鱼雷已成为现代反潜作战的主要武器。但是,在海峡或浅海等海底地形较为复杂的海域,由于价格低、抗干扰能力强,仍有一些国家在研究和发展深水炸弹反潜技术。 反潜飞机攻击水下目标前,先由侦察飞机通过电子侦察设备发现水下潜艇目标的大致位置,然后召唤反潜飞机前来进行攻击。当潜艇发现被侦察飞机电子设备跟踪时,通常会立即关闭电子设备及发动机,采取静默方式就地隐蔽。
  本问题采用目标坐标系:潜艇中心位置的定位值在海平面上的投影为原点 𝑂,正东方向为 𝑋 轴正向,正南方向为 𝑌 轴正向,垂直于海平面向下方向为 𝑍 轴正向。正北方向顺时针旋转到潜艇航向的方位角记为 𝛽,假定在一定条件下反潜攻击方可获知该航向(见图1)。
在这里插入图片描述
  由于存在定位误差,潜艇中心实际位置的3个坐标是相互独立的随机变量,其中 𝑋,𝑌均服从正态分布 𝑁(0,𝜎2),𝑍 服从单边截尾正态分布 𝑁(ℎ0,𝜎𝑧2,𝑙),其密度函数为
在这里插入图片描述
  这里 ℎ0 是潜艇中心位置深度的定位值,𝑙 是潜艇中心位置实际深度的最小值,𝜙 和 𝛷 分别是标准正态分布的密度函数与分布函数。 将潜艇主体部分简化为长方体,深弹在水中垂直下降。假定深弹采用双引信(触发引信+定深引信)引爆,定深引信事先设定引爆深度,深弹在海水中的最大杀伤距离称为杀伤半径。深弹满足以下情形之一,视为命中潜艇:
  (1) 航空深弹落点在目标平面尺度范围内,且引爆深度位于潜艇上表面的下方,由触发引信引爆;
  (2) 航空深弹落点在目标平面尺度范围内,且引爆深度位于潜艇上表面的上方,同时潜艇在深弹的杀伤范围内,由定深引信引爆;
  (3) 航空深弹落点在目标平面尺度范围外,则到达引爆深度时,由定深引信引爆,且此时潜艇在深弹的杀伤范围内。
  请建立数学模型,解决以下问题:
  问题1 投射一枚深弹,潜艇中心位置的深度定位没有误差,两个水平坐标定位均服从正态分布。分析投弹最大命中概率与投弹落点平面坐标及定深引信引爆深度之间的关系,并给出使得投弹命中概率最大的投弹方案,及相应的最大命中概率表达式。 针对以下参数值给出最大命中概率:潜艇长100 m,宽20 m,高25 m,潜艇航向方位角为 90∘,深弹杀伤半径为20 m,潜艇中心位置的水平定位标准差 𝜎=120 m,潜艇中心位置的深度定位值为150 m.
  问题2 仍投射一枚深弹,潜艇中心位置各方向的定位均有误差。请给出投弹命中概率的表达式。 针对以下参数,设计定深引信引爆深度,使得投弹命中概率最大:潜艇中心位置的深度定位值为150 m,标准差 𝜎𝑧=40 m,潜艇中心位置实际深度的最小值为 120 m,其他参数同问题1。
  问题3 由于单枚深弹命中率较低,为了增强杀伤效果,通常需要投掷多枚深弹。若一架反潜飞机可携带9枚航空深弹,所有深弹的定深引信引爆深度均相同,投弹落点在平面上呈阵列形状(见图2)。在问题2的参数下,请设计投弹方案(包括定深引信引爆深度,以及投弹落点之间的平面间隔),使得投弹命中(指至少一枚深弹命中潜艇)的概率最大。
在这里插入图片描述

整体求解过程概述(摘要)

  随着潜艇技术的不断发展,反潜作战面临着日益严峻的挑战。深弹作为重要的反潜武器,其投放策略的优化对于提高反潜作战效率至关重要。本文旨在通过数学建模和数值分析,找出在不同条件下深弹投放的最大命中概率策略。
  潜艇深度已知的单深弹投放模型,在潜艇深度位置信息确定的情况下,本文首先在二维平面上建立了深弹的毁伤概率模型。该模型考虑了深弹爆炸的威力范围、潜艇的尺寸以及投放角度等因素,将问题转化为炸弹最大毁伤区域的构建与最优概率积分问题。根据深弹爆炸深度与潜艇深度的位置关系,本文详细分析了五种可能的投放情况,包括深弹在潜艇上方、下方、侧面以及直接命中等。通过动态讨论,确定了当深弹的落点位于潜艇的上表面和下表面之间时,投弹可达最大投弹概率。
  潜艇深度未知的单深弹投放模型,考虑到实际作战中潜艇深度往往未知,本文在原有模型基础上增加了深度参数,并假设其服从单边截尾正态分布。这使得模型更加贴近实际,也增加了问题的复杂性。为了处理深度不确定性,本文建立了三维立体的命中概率模型。通过数值分析和简化处理,将三维模型分解为二维命中概率模型与一维深度概率模型的最大化积分问题。在二维命中概率模型的基础上,本文利用数值积分方法求解了潜艇深度定位在最大可能区间的命中概率,为实际作战中的深弹投放提供了决策支持。
  潜艇深度未知的多深弹投放模型,首先通过数学分析确定了深弹的最佳爆炸深度,以确保在给定深度范围内达到最大的毁伤效果。接着,本文将最大命中概率的决定因素分解为深弹二维毁伤区域与潜艇的平面分布概率两部分。通过综合考虑深弹的投放位置、爆炸范围以及潜艇的可能位置,构建了多深弹投放的命中概率优化模型。利用数学解析和数值解析与网格算法相结合的方法,本文求解了多深弹投放模型下的最大命中概率。当深弹间距d=150时,命中概率达到最大值0.333。这一结果对于指导实际作战中的多深弹投放具有重要意义。

模型假设:

  1.潜艇以及深弹默认为单一质点;
  2.假设深弹之间不会互相影响;
  3.假设潜艇时刻处在动态移动中。

问题分析:

  首先,我们分析了深弹引爆深度与命中概率之间的内在联系。在概率密度函数已知且非负的前提下,求解最大投射命中概率被转化为求解最大积分区域的问题。通过数学推导,我们证明了只有当引爆深度位于潜艇上下表面之间时,积分区域才能达到最大,进而确定了固定投弹点处的命中概率。接着,我们考虑了引爆深度变化时积分区域虽然大小相同但命中概率差异显著的情况。通过将该问题转化为二维正态分布函数的最值求解问题,我们得到了最大命中概率的表达式。在已知潜艇长宽高等参数(深度定位参数无误差)且深弹杀伤半径为20m的条件下,我们计算出了最大的命中概率。
  在潜艇深度未知的情况下,我们引入了深度定位误差,并假设其服从单边截尾正态分布。为了简化问题,我们将问题转化为在潜艇最有可能出现的深度范围内选择最佳投弹深度的问题。基于问题一的研究成果,我们已知潜艇深度一定时的最佳投弹深度和投弹点。因此,在已知潜艇中心位置深度的定位误差服从的分布参数后,我们以潜艇的高度为度量区间,找出了该区间内最有可能出现的深度范围,并取其中点作为深弹的定深引信引爆深度。这样的选择使得投弹命中概率达到最大。
  在问题二的基础上,我们进一步考虑了多深弹的投放布局问题。给定深弹的定深引信引爆深度,我们根据潜艇深度参数服从的单边截尾正态分布,计算了潜艇中心落在不同区域内的概率。通过参数调整,我们计算了每个区域内9枚航空深弹至少一次命中潜艇的概率。然后,将这两组概率对应相乘并求和,得出了命中概率的数学期望。最后,通过数值优化方法,我们找出了使命中概率数学期望最大的投弹方案,即最佳投弹布局。

模型的建立与求解整体论文缩略图

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

全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

部分程序代码(完整论文以及代码请联系博主):

sigma = 120; % 标准差,单位:米
L = 100; % 潜艇长度,单位:米
R = 20; % 杀伤半径,单位:米
W = 20; % 潜艇宽度,单位:米% 定义被积函数
f = @(x, y) exp(-(x.^2 + y.^2) / (2 * sigma^2));% 计算第一个积分项(左侧部分)
I1 = integral2(f, -R-L/2, -L/2, @(x)-W/2-sqrt(R^2 - (x + L/2).^2), @(x)W/2+sqrt(R^2 - (x + L/2).^2));% 计算第二个积分项(中间部分)
I2 = integral2(f, -L/2, L/2, -W/2-R, W/2+R);% 计算第三个积分项(右侧部分)
I3 = integral2(f, L/2, R+L/2, @(x)-W/2-sqrt(R^2 - (x - L/2).^2), @(x)W/2+sqrt(R^2 - (x - L/2).^2));% 计算总积分
p00 = (1 / (2 * pi * sigma^2)) * (I1 + I2 + I3);% 显示结果
disp(['The probability p(0,0) is: ', num2str(p00)]);
function [d,I]=x2
sigma = 120; % 标准差
L = 100; % 潜艇长度
R = 20; % 杀伤半径
W = 20; % 潜艇宽度
H = 25; % 高度
sigma_z = 40; % Z 的标准差
l1 = 120;
h0 = 150;f = @(x, y) (1 / (2 * pi * sigma^2)) * exp(-(x.^2 + y.^2) / (2 * sigma^2));
Phi = @(x) normcdf(x, 0, 1);
dm=1/(1 - Phi((l1 - h0) / sigma_z));
% 定义函数 g(z)
g_z = @(z) (1/sigma_z)*dm * (1 / sqrt(2 * pi)) * exp(-((z - h0).^2) / (2 * sigma_z^2));
%test=integral(@(z) g_z(z),120,200);
fun = @(x,y,z) f(x,y).*g_z(z);d = 152.5:1:180;I1 = arrayfun(@(d) integral3(@(x, y, z) f(x, y) .* g_z(z), -L/2, L/2, -W/2, W/2, l1, d-R-H/2), d);
I2=[];
I3=[];
I4=[];
I5=arrayfun(@(d) integral(@(z) g_z(z), d-H/2,d+H/2), d);
I5=0.083734*I5;
I6=[];
I7=[];
I8=[];for i=1:length(d)dx=0.5;dy=0.5;dz=0.5;%%%以下计算 I2% 初始化黎曼和sum=0;% 计算黎曼和zmin = d(i) - R - 0.5 * H;zmax = d(i) - 0.5 * H;xmin = @(z) -L/2-sqrt(R^2 - (d(i) - z - H/2).^2);xmax = @(z) -L/2;ymin = @(x,z) -W/2-sqrt(R^2 - (d(i) - z - H/2).^2-(x+L/2).^2);ymax = @(x,z) W/2+sqrt(R^2 - (d(i) - z - H/2).^2-(x+L/2).^2);for z = zmin:dz:zmaxx1=xmin(z);xu=xmax(z);for x =x1:dx:xuy1=ymin(x,z);yu=ymax(x,z);for y = y1:dy:yusum = sum + fun(x,y,z) * dx * dy * dz;endendendI2=[I2 sum];
end%%%以下计算 I3
% 初始化黎曼和
sum=0;
% 计算黎曼和
zmin = d(i) - R - 0.5 * H;
zmax = d(i) - 0.5 * H;
xmin = -0.5*L;
xmax = 0.5*L;
ymin = @(z) -W/2-sqrt(R^2 - (d(i) - z - H/2).^2);
ymax = @(z) W/2+sqrt(R^2 - (d(i) - z - H/2).^2);
sum = 0;
for z = zmin:dz:zmaxxl=xmin;xu=xmax(z);
for x =x1:dx:xuyl=ymin(z);yu=ymax(z);for y = y1:dy:yusum = sum + fun(x,y,z) * dx * dy * dz;end
end
end
I3=[I3 sum];%%%以下计算 I4
% 初始化黎曼和
sum=0;
% 计算黎曼和
zmin = d(i) - R - 0.5 * H;
zmax = d(i) - 0.5 * H;
xmin = @(z) L/2;
xmax = @(z) L/2+sqrt(R^2 - (d(i) - z - H/2).^2);
ymin = @(x,z) -W/2-sqrt(R^2 - (d(i) - z - H/2).^2-(x-L/2).^2);
ymax = @(x,z) W/2+sqrt(R^2 - (d(i) - z - H/2).^2-(x-L/2).^2);
sum = 0;
for z = zmin:dz:zmaxxl=xmin(z);xu=xmax(z);for x =x1:dx:xuyl=ymin(x,z);yu=ymax(x,z);for y = y1:dy:yusum = sum + fun(x,y,z) * dx * dy * dz;endend
end
I4=[I4 sum];%%%以下计算 I6
% 初始化黎曼和
sum=0;
% 计算黎曼和
zmin = d(i) + 0.5 * H;
zmax = d(i) +R+ 0.5 * H;
xmin = @(z) -L/2-sqrt(R^2 - (d(i) - z + H/2).^2);
xmax = @(z) -L/2;
ymin = @(x,z) -W/2-sqrt(R^2 - (d(i) - z + H/2).^2-(x+L/2).^2);
ymax = @(x,z) W/2+sqrt(R^2 - (d(i) - z + H/2).^2-(x+L/2).^2);
for z = zmin:dz:zmaxxl=xmin(z);xu=xmax(z);for x =x1:dx:xuyl=ymin(x,z);yu=ymax(x,z);for y = y1:dy:yusum = sum + fun(x,y,z) * dx * dy * dz;endend
end
1. import numpy as np2. from scipy.stats import truncnorm3. from scipy.integrate import quad4. import pandas as pd5. import matplotlib.pyplot as plt6. import matplotlib
13. h0 =200
14. sigma_z =50 
15. l= 150
18. def truncated_normal_density(z):19. a, b= (l-h0) /sigma_z, float('inf') 20. scale = sigma_z21. loc =h022. return truncnorm.pdf(z, a,b, loc=loc, scale=scale)
25. def calculate_integral(z0):26. lower_bound =z0-1027. upper_bound =z0+1028. result, _= quad(truncated_normal_density, lower_bound, upper_bound)29. return result
32. def main():33. z0_values = np.arange(100,200, 0.0001)34. integral_values =[calculate_integral(z0) for z0 in z0_values]37. df =pd.DataFrame({38. 'z0 (meters)': z0_values,39. 'Integral Value':integral_values40. })41. df.to_excel('result.xlsx',index=False)
44. plt.figure(figsize=(30, 20))45. plt.plot(z0_values, integral_values, marker='o', linestyle='*',color='y')46. plt.xlabel()47. plt.ylabel()49. plt.grid(True)50. plt.savefig('2.jpg')51. plt.show()53. if __name__ == "__main__":54. main()
全部论文及程序请见下方“ 只会建模 QQ名片” 点击QQ名片即可

http://www.ppmy.cn/news/1575110.html

相关文章

Unity FBXExport导出的FBX无法在Blender打开

将FBX转换为obj: Convert 3D models online - free and secure

Wireshark详解

Wireshark使用详解 1.Wireshark 简介2.下载与安装1. 下载地址2. 安装步骤(以 Windows 为例) 3. 界面与核心功能1. 主界面布局2. 常用菜单功能 4. 过滤功能详解1. 过滤类型2. 常用过滤命令 5. 过滤命令与网络结构对应6. 使用注意事项7. 案例分析 TCP 三次…

一文掌握Selenium的详细使用

文章目录 1. 安装 Selenium1.1 安装 Selenium 库1.2 下载浏览器驱动 2. 基础用法2.1 启动浏览器2.2 查找元素2.3 操作元素 3. 高级功能3.1 等待机制3.2 处理弹窗3.3 执行 JavaScript3.4 切换窗口或 iframe3.5 处理 Cookies3.6 截图3.7 处理下拉菜单 4. 浏览器选项4.1 无头模式&…

Java进阶学习笔记7——权限修饰符

什么是权限修饰符? 就是用来限制类中的成员(成员变量、成员方法、构造器、代码块…)能够被访问的范围。 protected使用的比较少,但是程序员还是要阅读代码,看官方文档是怎么写的,都会接触到protected修饰…

汽车无钥匙进入一键启动操作正确步骤

汽车智能无钥匙进入和一键启动的技术在近年来比较成熟,不同车型的操作步骤可能略有不同,但基本的流程应该是通用的,不会因为时间变化而有大的改变。 移动管家汽车一键启动无钥匙进入系统通常是通过携带钥匙靠近车辆,然后触摸门把…

Unity实用技能-UI与粒子效果总结

实用技能系列 Unity实用技能-UI滑动条技能总结Unity实用技能-UI规范总结Unity实用技能-协作规范总结 文章目录 实用技能系列前言对于粒子与UI的显示层级问题总结 前言 本周接触了UI和粒子有关的工作,记录一下 对于粒子与UI的显示层级问题 粒子本身依赖于材质球&a…

css实现左右切换平滑效果

2025.02.25今天我学习了如何用css实现平滑效果 一、html相关代码 &#xff08;1&#xff09;设置往左、往右的动画属性&#xff0c;样式可以放在同一级。 &#xff08;2&#xff09;必须设置唯一key进行刷新数据&#xff0c;使用v-show来展示每次渲染的组件数量。 <tran…

DeepSeek+Kimi生成高质量PPT

DeepSeek与Kimi生成PPT全流程解析 一、工具分工原理 DeepSeek核心作用&#xff1a;生成结构化PPT大纲&#xff08;擅长逻辑构建与内容优化&#xff09;Kimi核心作用&#xff1a;将文本转换为视觉化PPT&#xff08;提供模板库与排版引擎&#xff09; 二、操作步骤详解 1. 通…