• 数学建模B多波束测线问题B


    数学建模多波束测线问题

    完整思路和代码请私信~~~~

    1.问题重述:

    单波束测深是一种利用声波在水中传播的技术来测量水深的方法。它通过测量从船上发送声波到声波返回所用的时间来计算水深。然而,由于它是在单一点上连续测量的,因此数据在航迹上非常密集,但在测线之间没有数据。
    多波束测深系统是在单波束测深的基础上发展起来的,它能够同时发送多个声波束,覆盖更广的区域。这意味着在海底平坦的区域,它可以测量出以测量船航线为轴线、具有一定宽度的水深区域。为了确保数据的准确性,相邻的测量区域之间需要有一定的重叠。
    然而,海底地形的变化复杂,这使得如何设置测线间距成为一个挑战。如果采用平均水深来设置测线间距,可能导致在水深较浅的地方漏测,而如果采用最浅水深来设置间距,可能导致在水深较深的地方出现过多的重叠,浪费数据和时间。因此,需要建立数学模型来确定最佳的测线间距,以便在不同水深条件下实现高效而准确的测量。

    2.拟定解决的问题:

    问题 1: 在单波束测深中,通过发射声波并测量其传播时间来测量水体深度。数据点在测量船轨迹上密集分布,但在轨迹之间没有数据点。问题要求建立多波束测深的覆盖宽度及相邻条带之间重叠率的数学模型。
    问题 2: 考虑了一个矩形的待测海域,其中海底的坡度影响着多波束测深的覆盖宽度。问题要求建立多波束测深覆盖宽度的数学模型。
    问题 3: 在一个矩形海域内,需要设计一组测线,以最短的长度覆盖整个海域,同时满足相邻条带之间的重叠率要求。
    问题 4: 提供了一组单波束测深数据,目标是设计一组多波束测深的测量布线。要求测线总长度尽可能短,同时覆盖整个待测海域并控制相邻条带之间的重叠率。

    3.建模思路及代码、结果

    3.1问题一

    考虑到多波束测深的关键参数,即开角、坡度和海水深度,我们使用先前建立的数学模型来计算表1中所示位置的指标值。这些指标值包括覆盖宽度W和相邻条带之间的重叠率。为了方便参考和记录,我们将结果以表格形式嵌入到正文中,并同时保存在result1.xlsx文件中。这些计算对于确定最佳的多波束测深参数以及实现高质量的测量数据至关重要。
    在建立问题1的数学模型时,我们需要考虑几个关键因素。首先,覆盖宽度W与换能器开角θ和水深D之间的关系是一个关键因素。其次,考虑到海底坡度α,我们需要确定坡度如何影响覆盖宽度W和相邻条带之间的重叠率n。

    从几何学的角度来看,覆盖宽度W可以表示为:

    在这里插入图片描述

    这里,W是覆盖宽度,D是水深,θ是换能器的开角。这个公式表明,W与D和θ成正比,水深越深,开角越大,覆盖宽度就越宽。
    然后,我们考虑坡度α对重叠率n的影响。重叠率n可以表示为:
    在这里插入图片描述

    其中,d是相邻两条测线的间距。这个公式表明,当d小于W时,重叠率n为负数,表示存在漏测。
    为了满足便利性和数据完整性的要求,我们需要确保n保持在10%到20%之间。因此,我们可以调整参数D、θ和α,以便在不同的海底地形条件下,实现所需的重叠率范围。
    考虑到声波从水面发射并在海底反射后返回,覆盖宽度W可以表示为:
    在这里插入图片描述

    其中,W是覆盖宽度,D是水深,0是换能器的开角。这个公式描述了声波传播的路径,从而确定了覆盖宽度W。水深越深或开角0越大,覆盖宽度W就越宽,因为声波需要更长的时间才能从水底反射回来,覆盖的海底区域就越广。这个公式在多波束测深中非常重要,因为它帮助确定了每次测量可以覆盖的地理区域

    当考虑到海底的坡度α时,实际的覆盖宽度会受到坡度的影响。坡度会导致实际的水深有所变化,从而影响覆盖宽度。因此,当考虑坡度时,水深D应调整为D’,其中:
    在这里插入图片描述
    这个公式将原始水深D校正为实际水深D’,考虑了海底坡度的影响。坡度α越大,校正后的水深D就越大,覆盖宽度W也会受到影响。所以在多波束测深中,要考虑海底坡度对覆盖宽度的影响,以便更准确地计算覆盖区域。
    因此,考虑坡度的覆盖宽度模型可以表示为:
    在这里插入图片描述

    其中,W’是考虑坡度后的实际覆盖宽度,D’是校正后的实际水深,θ是多波束换能器的开角。这个模型考虑了海底坡度对覆盖宽度的影响,可以用来计算多波束测深系统在不同条件下的覆盖宽度。
    根据题目描述,重叠率n可以表示为:
    在这里插入图片描述
    其中,n表示相邻条带之间的重叠率,d是相邻两条测线的间距,W’是考虑坡度后的实际覆盖宽度。
    首先,我们需要计算不同距离下的海水深度D。这可以使用以下公式来计算:
    在这里插入图片描述
    其中,D是距离测量船中心点处的海水深度,D_c是海域中心点处的海水深度(在题目中为70 m),y是距离测量船中心点的水平距离,α是坡度(在题目中为1.5°)。
    这个公式考虑了坡度对海水深度的影响,因此可以用来计算不同距离下的深度D。
    接下来,我们可以使用这些不同距离下的海水深度D来计算覆盖宽度W。覆盖宽度W的计算可以使用以下公式:
    在这里插入图片描述

    其中,W是覆盖宽度,D是距离测量船中心点处的海水深度,θ是多波束换能器的开角(在题目中为120°)。
    这个公式考虑了海水深度和开角对覆盖宽度的影响,因此可以用来计算不同距离下的覆盖宽度W。

    3.2问题二

    多波束测深的覆盖宽度W可以用以下数学模型来表示:
    在这里插入图片描述
    W 表示覆盖宽度。
    D’ 是根据坡度α修正后的水深.
    在这里插入图片描述

    θ 是多波束换能器的开角,根据题目描述为120°。
    部分代码

    % Given parameters
    theta = 120; % opening angle in degrees
    alpha = 1.5; % slope in degrees
    center_depth = 120; % depth at the center in meters
    distances = [0, 0.3, 0.6, 0.9, 1.2, 1.5, 1.8, 2.1] * 1852; % distances from the center in meters
    angles = [0, 45, 90, 135, 180, 225, 270, 315]; % angles in degrees
    
    % Function to calculate depth based on the center depth and distance from the center
    calculate_depth = @(center_depth, alpha, distance) center_depth - tan(deg2rad(alpha)) * distance;
    
    % Function to calculate coverage width based on depth and opening angle
    calculate_width = @(depth, theta) 2 * depth * tan(deg2rad(theta / 2));
    
    % Calculate depths and coverage widths for all combinations of distances and angles
    depths = calculate_depth(center_depth, alpha, distances);
    widths = (calculate_width(depths, theta)') * cos(deg2rad(angles));
    
    % Replace negative values with 0
    widths(widths < 0) = 0;
    
    widths
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    3.3问题三

    3.4问题四

    4.更多细节和代码(欢迎私信)

    详细代码资料https://github.com/HuaandQi/Mathematical-modeling.git

  • 相关阅读:
    web3.0链游农民世界开发搭建0撸狼人杀玩法模式定制开发
    导出execl,后端接口返回文件流
    【Linux】第五站:Linux权限
    【全网最细】谷歌小恐龙无敌代码它来了!
    windows共享文件夹,免密访问
    批量快捷创建新数组的几种方式
    jmeter-进阶02
    全栈开发实战|Vue进阶——使用静态模块打包工具webpack
    计算机网络复习——第四章网络层
    Tomcat安装及配置教程
  • 原文地址:https://blog.csdn.net/weixin_46877907/article/details/132776411