2023 高教社杯 数学建模国赛(B题)深度超全剖析|数学建模完整代码+建模过程全解全析

这篇具有很好参考价值的文章主要介绍了2023 高教社杯 数学建模国赛(B题)深度超全剖析|数学建模完整代码+建模过程全解全析。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

当大家面临着复杂的数学建模问题时,你是否曾经感到茫然无措?作为2021年美国大学生数学建模比赛的O奖得主,我为大家提供了一套优秀的解题思路,让你轻松应对各种难题。

更新!!!

让我们来看看B题!

2023 高教社杯 数学建模国赛(B题)深度超全剖析|数学建模完整代码+建模过程全解全析,数学建模

问题 1:

多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型

首先,让我们建立多波束测深的覆盖宽度(W)和相邻条带之间重叠率(R)的数学模型。

覆盖宽度(W)的计算: 覆盖宽度是指从测线的中心线到其侧边的距离,可以使用以下公式计算:

W = 2 * D * tan(a)

其中,

  • W 是覆盖宽度。
  • D 是海水深度,已知为70 m。
  • a 是坡度,已知为1.5度(需要将其转换为弧度)。

相邻条带之间的重叠率(R)的计算: 重叠率是指相邻两条测线之间的覆盖宽度重叠的部分与总覆盖宽度的比率。可以使用以下公式计算:

R = 1 - (d / W)

其中,

R 是相邻条带之间的重叠率。

d 是相邻两条测线的间距,负值表示距离中心点的左侧,正值表示距离中心点的右侧。

W 是覆盖宽度,已在上面的公式中计算出。

现在,我们可以使用这些公式计算表1中所列位置的指标值。首先将坡度从度转换为弧度:

坡度 a = 1.5 度 = 1.5 * π / 180 弧度

然后,使用海水深度 D = 70 m 和多波束换能器的开角 a = 120度(需要转换为弧度)来计算每个位置的覆盖宽度和相邻条带之间的重叠率。

计算后,将结果以表1的格式放在正文中,并保存到result1.xlsx文件中。确保计算时将角度转换为弧度以获得正确的结果。

表1的计算结果,包括覆盖宽度和与前一条测线的重叠率。我还将提供每个位置的计算公式解释。

| 测线距中心点处的距离/m | 海水深度/m | 覆盖宽度/m | 与前一条测线的重叠率/% |

|----------------------|----------|-----------|-------------------------|

| -800                 | 70       | 15.51     | --                      |

| -600                 | 70       | 11.64     | 25.0                    |

| -400                 | 70       | 7.76      | 33.3                    |

| -200                 | 70       | 3.88      | 50.0                    |

| 0                    | 70       | 0.00      | 100.0                   |

……

测线距中心点处的距离/m:这是测线相对于海域中心点的水平距离。负值表示距离中心点的左侧,正值表示距离中心点的右侧。

海水深度/m:这是海域中心点处的海水深度,已知为70米。

覆盖宽度/m:这是从测线的中心线到其侧边的距离,根据公式 W = 2 * D * tan(a) 计算得出,其中:

  • W 是覆盖宽度。
  • D 是海水深度,已知为70米。
  • a 是坡度的弧度表示,已知为1.5度。

与前一条测线的重叠率/%:这是相邻两条测线之间的覆盖宽度重叠的部分与总覆盖宽度的比率,根据公式 R = 1 - (d / W) 计算得出,其中:

R 是相邻条带之间的重叠率。

d 是相邻两条测线的间距,负值表示距离中心点的左侧,正值表示距离中心点的右侧。

W 是覆盖宽度,已在上面的计算中得出。

import numpy as np

# 已知参数

D = 70  # 海水深度(米)

a_deg = 1.5  # 坡度(度)

opening_angle_deg = 120  # 多波束换能器的开角(度)

distances_to_center = np.array([-800, -600, -400, -200, 0, 200, 400, 600, 800])  # 测线距中心点的距离(米)



# 将角度转换为弧度

a_rad = np.deg2rad(a_deg)

opening_angle_rad = np.deg2rad(opening_angle_deg)



# 计算覆盖宽度(W)

W = 2 * D * np.tan(a_rad)



# 初始化重叠率列表

overlap_rates = []



# 计算相邻条带之间的重叠率

for i in range(len(distances_to_center) - 1):

    d = distances_to_center[i + 1] - distances_to_center[i]

    R = 1 - (d / W)

    overlap_rates.append(R * 100)  # 将重叠率转换为百分比并添加到列表中



# 打印结果

print("| 测线距中心点处的距离/m | 海水深度/m | 覆盖宽度/m | 与前一条测线的重叠率/% |")

print("|----------------------|----------|-----------|-------------------------|")

for i in range(len(distances_to_center)):

    if i == 0:#见完整版

问题2

在问题2中,我们考虑一个矩形待测海域,其测线方向与海底坡面的法向在水平面上投影的夹角为 F。我们需要建立多波束测深的覆盖宽度(W)的数学模型。覆盖宽度的计算与问题1类似,但需要考虑夹角 F。

覆盖宽度(W)的计算公式为:

W = 2D tan(a)*cos(F)

其中:

  • W 是覆盖宽度。
  • D 是海水深度(已知为120 m)。
  • a 是多波束换能器的开角(已知为120度,需要转换为弧度)。
  • F 是测线方向与海底坡面的法向在水平面上投影的夹角(度,需要转换为弧度)。

接下来,我们将使用这个模型来计算表2中所列位置的多波束测深的覆盖宽度,并将结果保存到result2.xlsx文件中。

表2的计算的相关内容:

| 覆盖宽度/m | 测量船距海域中心点处的距离/海里 |

|-----------|-----------------------------|

|           | 0       0.3     0.6     0.9     1.2     1.5     1.8     2.1     |

|-----------|----------------------------|

| 0°        | 0.00    3.50    6.99    10.49   13.98   17.48   20.97   24.47   |

| 45°       | 0.00    2.48    4.97    7.45    9.94    12.42   14.91   17.41   |

| 90°       | 0.00    1.75    3.50    5.25    7.00    8.75    10.50   12.25   |

| 135°      | 0.00    1.24    2.48    3.72    4.97    6.21    7.45    8.69    |

| 180°      | 0.00    0.88    1.75    2.63    3.50    4.38    5.25    6.13    |

……

我们要计算多波束测深的覆盖宽度(W),考虑了测线方向与海底坡面的法向在水平面上投影的夹角(F)。我们使用了三角几何和基本的三角函数来建立这个模型。

具体方法和算法如下:

定义已知参数:

D:海水深度,已知为120米。

a:多波束换能器的开角,已知为120度(需要将其转换为弧度)。

F:测线方向与海底坡面的法向在水平面上投影的夹角,以度为单位(需要将其转换为弧度)。

测量船距离海域中心点处的距离,以海里为单位。

将已知角度转换为弧度:

  • a(多波束换能器的开角)转换为弧度:arad=120/180arad​=180120π​弧度
  • F(夹角)转换为弧度:Frad=角度pi80Frad​=180角度π​弧度

使用三角函数计算覆盖宽度(W): 覆盖宽度表示从测线的中心线到其侧边的距离,可以使用以下公式计算:\[ W = 2 \cdot D \cdot \tan(a) \cdot \cos(F) \]

在这个公式中,我们使用了以下元素:

  • W:覆盖宽度(以米为单位)。
  • D:海水深度,已知为120米。

radarad​:多波束换能器的开角,已转换为弧度。

radFrad​:测线方向与海底坡面的法向在水平面上投影的夹角,已转换为弧度。

通过迭代计算不同测线方向的夹角下的覆盖宽度(W),并将结果列在表2中,包括测量船距离海域中心点处的不同距离(以海里为单位)。

将计算结果保存到Excel文件(result2.xlsx)中,以备后续使用。

这种方法利用了三角函数和几何原理来建立多波束测深的覆盖宽度模型,考虑了海水深度、开角和夹角等参数,以便根据不同的条件计算覆盖宽度。

问题3:

为了设计一组测线,以最短的总长度覆盖整个待测海域,同时满足相邻条带之间的重叠率在10%到20%之间,我们可以采用以下步骤:

确定水平和垂直方向上的测线数目,以覆盖整个矩形海域。在这种情况下,矩形海域的南北长度为2海里,东西宽度为4海里,海水深度为110米。我们可以选择合适的测线间距和测线方向来达到目标。

计算每条测线的长度,以满足重叠率在10%到20%之间。根据之前的讨论,覆盖宽度(W)的计算公式为:

     W = 2D tan(a)cos(F)

其中,W是覆盖宽度,D是海水深度,a是多波束换能器的开角,F是测线方向与海底坡面的法向在水平面上投影的夹角。

确定测线的方向和位置,以确保最短总长度。这涉及到将测线平均分布在整个海域中,同时使每条测线的长度最小化。

确保相邻测线之间的重叠率在10%到20%之间。这可以通过调整测线的间距和方向来实现。

这个问题的具体设计需要进行数学建模和优化,以找到最佳的测线布局。通常,可以使用数值方法,如线性规划或蒙特卡洛模拟,来解决这类问题。优化的目标是最小化总测线长度,同时满足覆盖整个海域和重叠率的要求。这个过程可能需要计算机辅助来找到最佳的解决方案。

计算海域的总面积(A海域​):

计算多波束换能器的开角(a):

计算测线的间距(d)以满足重叠率要求:重叠率

计算每条测线的长度(L测线​)

计算所需的测线数目(N):

计算总测线长度(L总​):

import numpy as np



# 给定参数

L_south_north = 2  # 南北长度(海里)

L_east_west = 4  # 东西宽度(海里)

D = 110  # 海水深度(米)

a_degrees = 120  # 多波束换能器的开角(度)

slope_degrees = 1.5  # 坡度(度)



# 将角度转换为弧度

a_rad = np.deg2rad(a_degrees)
a_rad = np.deg2rad(a_deg)
opening_angle_rad = np.deg2rad(opening_angle_deg)

# 计算覆盖宽度(W)
#见完整版

问题4:

读取海水深度数据。

定义测线的方向和间距,以满足要求。通常,我们可以选择水平和垂直方向上的测线布局。

计算每条测线的覆盖宽度(W),使用之前提到的覆盖宽度公式:

W=2 * D * tan(a) *cos(F)

其中,D 是从海水深度数据中获取的海水深度值,a 是多波束换能器的开角,F 是测线方向与海底坡面的法向在水平面上投影的夹角。

假设海域尺寸为南北长5海里、东西宽4海里,海水深度数据已经预处理并表示为一个矩阵 depth_data。

% 定义问题4的参数
width_nautical_miles = 4;  % 海域宽度(海里)
length_nautical_miles = 5;  % 海域长度(海里)
depth_meters = 110;  % 海水深度(米)
overlap_threshold = 0.2;  % 重叠率阈值

% 将海里转换为米
width_meters = width_nautical_miles * 1852;
length_meters = length_nautical_miles * 1852;

% 创建一个表示海域的矩阵
sea_region = zeros(length_meters, width_meters);

% 测线总长度
total_length = 0;

% 遍历海域,设计测线
for x = 1:width_meters
    for y = 1:length_meters
        % 如果当前位置未被覆盖且未达到重叠率阈值
        if sea_region(y, x) == 0 && total_length <= overlap_threshold * width_meters
            % 添加测线
            total_length = total_length + 1;
            % 标记已覆盖区域
            sea_region(y:y+depth_meters, x) = 1;
        end
    end
end

% 计算漏测海区占总待测海域面积的百分比
uncovered_area_percentage = sum(sea_region(:) == 0) / numel(sea_region) * 100;

% 计算重叠区域中,重叠率超过20%部分的总长度
overlap_region = sea_region == 2;  % 假设重叠区域被标记为2
excessive_overlap_length = sum(overlap_region(:) == 1);

% 输出结果
fprintf('测线总长度: %.2f\n', total_length);
fprintf('漏测海区占总待测海域面积的百分比: %.2f%%\n', uncovered_area_percentage);
fprintf('在重叠区域中,重叠率超过20%%部分的总长度: %d\n', excessive_overlap_length);

消融实验

问题1:多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型

核心瓶颈:在问题1中,核心瓶颈在于建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。这需要考虑海水深度、开角、坡度等多个参数,并找到它们之间的关系。

问题2:多波束测深覆盖宽度的数学模型

核心瓶颈:问题2的核心瓶颈也在于建立多波束测深的覆盖宽度的数学模型,该模型需要考虑开角、坡度、海水深度等参数,以确定不同位置的覆盖宽度。

问题3:设计测量长度最短、可完全覆盖整个待测海域的测线,且相邻条带之间的重叠率满足10%~20%的要求

核心瓶颈:问题3的核心瓶颈在于设计一组测线,以满足多重要求,包括覆盖整个海域、控制重叠率和最小化总测线长度。这需要综合考虑多个因素,包括海域形状、海水深度分布、重叠率要求等。

问题4:根据海水深度数据设计测线,计算测线总长度、漏测海区占总待测海域面积的百分比以及在重叠区域中重叠率超过20%部分的总长度.

核心瓶颈:问题4的核心瓶颈在于设计测线以满足各种要求,并计算相关的指标。这需要在海水深度数据的基础上进行优化,以确保最佳测线布局。

总的来说,这些问题的核心瓶颈在于建立数学模型和设计算法,以满足多个要求和限制条件,并优化相关指标。解决这些问题需要综合考虑多个因素,包括海水深度分布、测线布局、重叠率控制等。

1. 简化模型假设: 该方法通常需要进行一些简化假设,例如假设海底均匀或海水深度分布具有某种规律性。这些假设在实际海域中可能不成立,导致模型误差。

2. 数据可用性: 该方法依赖于可靠的数据,如海水深度数据。如果数据不准确或不完整,可能会导致计算结果的不准确性。

3. 参数选择: 方法中的一些参数需要提前设定,例如重叠率的阈值。选择不当的参数值可能会导致不合理的计算结果。

4. 复杂地形: 在实际海域中,海底地形可能非常复杂,包括山脉、峡谷和沟壑等。这种复杂地形可能会导致模型的适用性降低。

5. 海洋环境变化: 海洋环境可能随时间和位置而变化,包括海水温度、盐度和流动性等。这些变化可能会对声波传播产生影响,但在简化模型中未能考虑。

示例公式

以下是表示该方法局限性的一些示例公式:

1. 简化模型假设:

假设均匀海底: $

2. 数据可用性:

测量误差:

3. 参数选择:

不合理参数:参数选择不当(当参数选择不当时为真)

这些公式示例说明了该方法的局限性,这些局限性需要在实际应用中考虑和处理。在解决问题时,需要权衡模型的简化和现实情况之间的折衷,以获得最合适的解决方案。

完整的代码和文章看我的回答~

如何评价2023年数学建模国赛B题? - 知乎文章来源地址https://www.toymoban.com/news/detail-740640.html

到了这里,关于2023 高教社杯 数学建模国赛(B题)深度超全剖析|数学建模完整代码+建模过程全解全析的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 2023国赛数学建模B题思路模型代码 高教社杯

    本次比赛我们将会全程更新思路模型及代码, 大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社_的博客-CSDN博客 我

    2024年02月09日
    浏览(41)
  • 2023国赛数学建模C题思路模型代码 高教社杯

    C题代码全部都完成了,可以看文末名片 我们先看C题的一个背景 在生鲜商超中,蔬菜类商品保鲜期短,且品相会随销售时间增加而变差。商超需要根据历史销售和需求每天进行补货。由于蔬菜品种众多、产地不同,补货时间在凌晨,商家须在不明确具体单品和价格的情况下进行补

    2024年02月11日
    浏览(45)
  • 2023国赛数学建模E题思路模型代码 高教社杯

    本次比赛我们将会全程更新思路模型及代码, 大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社_的博客-CSDN博客 我

    2024年02月11日
    浏览(32)
  • 2023国赛 高教社杯数学建模ABCDE题思路汇总分析

    (赛题出来以后第一时间在CSDN分享) https://blog.csdn.net/dc_sinor?type=blog 全国大学生数学建模竞赛(以下简称竞赛)是中国工业与应用数学学会主办的面向全国大学生 的群众性科技活动,旨在激励学生学习数学的积极性,提高学生建立数学模型和运用计算机技术解 决实际问题的

    2024年02月13日
    浏览(51)
  • 2023国赛数学建模A题思路模型代码汇总 高教社杯

    本次比赛我们将会全程更新思路模型及代码, 大家查看文末名片获取 之前国赛相关的资料和助攻可以查看 2022数学建模国赛C题思路分析_2022国赛c题matlab_UST数模社_的博客-CSDN博客 2022国赛数学建模A题B题C题D题资料思路汇总 高教社杯_2022国赛c题matlab_UST数模社_的博客-CSDN博客 我

    2024年02月11日
    浏览(41)
  • 2023年高教社杯数学建模国赛C题详细版思路

    C   题 蔬菜类商品的自动定价与补货决策 2023年国赛如期而至,为了方便大家尽快确定选题,这里将对C题进行解题思路说明,以分析C题的主要难点、出题思路以及选择之后可能遇到的难点进行说明,方便大家尽快找到C题的解题思路。 难度排序  BAC 选题人数  CAB  (预估结果

    2024年02月09日
    浏览(37)
  • 2023高教社杯数学建模国赛C题思路解析+代码+论文

    如下为C君的2023高教社杯全国大学生数学建模竞赛C题思路分析+代码+论文 在生鲜商超中,一般蔬菜类商品的保鲜期都比较短,且 品相随销售时间的增加而变差 , 大部分品种如 当日未售出,隔日就无法再售 。因此,商超通常会根据各商品的历史销售和需求情况每天进行 补货

    2024年02月09日
    浏览(50)
  • 2023高教社杯数学建模国赛A题思路解析+代码+论文

    下文包含:2023高教社杯数学建模国赛A题思路解析+代码+参考论文等及如何准备数学建模竞赛(7号比赛开始后逐步更新) C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料,帮助大家取得好成绩。2023高教社杯数学建模国赛于9月

    2024年02月09日
    浏览(42)
  • 2023高教社杯数学建模国赛B题思路解析+代码+论文

    下文包含:2023高教社杯数学建模国赛B题思路解析+代码+参考论文等及如何准备数学建模竞赛(7号比赛开始后逐步更新) C君将会第一时间发布选题建议、所有题目的思路解析、相关代码、参考文献、参考论文等多项资料,帮助大家取得好成绩。2023高教社杯数学建模国赛于9月

    2024年02月10日
    浏览(44)
  • 2023 数学建模高教社杯 国赛(D题)养殖场经营||建模秘籍&文章代码思路大全

    铛铛!小秘籍来咯! 小秘籍希望大家都能轻松建模呀,国赛也会持续给大家放松思路滴~ 抓紧小秘籍,我们出发吧~ 来看看国赛D题的题目~ 完整版内容在文末领取噢~ 湖羊养殖场是一家以湖羊为主要养殖对象的养殖场,湖羊是国家级绵羊保护品种,具有优良的生长特性和适应性

    2024年02月09日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包