数学建模--浅谈多波束测线问题

目录

1.问题说明

2.问题分析

3.代码分析


1.问题说明

这个是国赛的真题,我们这个里面只是浅谈,就是对于这个里面运用的过程仿真的思路进行说明,这个探测的波束问题实际上也是一个简单的过程仿真问题,也是需要去进行作图的,和之前的这个4个人相互追逐的问题属于一类问题--过程仿真问题;

实际赛题里面还考虑了重合率等等的相关信息,我们这个里面只是简单的说明一下仿真思想的体现,简单运用,编写过程的程序,所以不会考虑重合率等其他的问题;

2.问题分析

我们的这个游艇实际上就是来回的进行巡回的过程,我们需要计算经过几次可以全部检测完成这片的海域;

这个实际上就是一个数学问题,我们思路就是构建直线方程,联立方程求解点的坐标,根据点的坐标计算距离,知道这个水平行走距离大于L的时候,这个海域就会全部被检测完成;

这关键就是求解x1,y1和x2,y2点的坐标,这个时候就需要构建直线方程,就是简单的点斜式,利用已知的直线方程,这个里面的直线方程包括这个斜面的直线方程,还有就是x1y1这个点左边的直线方程,和x1y1右边的直线方程,左边的斜率使用的是kl表示的,kr表示的就是右边的斜率;

3.代码分析

cpp 复制代码
clc;
clear;


%海底的深度大小
L=10000;

%%这个就是坡度的偏角
alfa=pi/100;

%探测的张角大小
beta=pi/3;

%%海水的深度
h=1000;

%%海底平面的斜率
k=tan(alfa);


%%左边的直线的斜率
kl=tan(pi/2-beta/2);

%%右边的直线的斜率
kr=tan(beta/2-pi/2);


%%左侧初始探测点的坐标
x2=0;
y2=0;


%%初始点测量船的坐标
x1=(h+kl*x2-y2)/kl;  %%这个就是直线方程联立求解的点的坐标
y1=h;


xx1=x1;  %%这四个式子就是把新的数据更新到我们的向量里面
xx2=x2;  %%后面的作图的时候,需要用到这个向量
yy1=y1;
yy2=y2;


for i=1:1000

    %%这个就是联立求解的点的坐标,上面已经出现过
    x2=(y1-kr*x1)/(k-kr);
    y2=k*x2;
    
    %%根据x2的坐标确定求解的
    x1=(h+kl*x2-y2)/kl;
    y1=h;

    %%不断地添加新的数据
    xx1=[xx1 x1];
    xx2=[xx2 x2];
    yy1=[yy1 y1];
    yy2=[yy2 y2];

    %%循环的终止的条件
    if x2>=L
        break;
    end
end


%%下面的这个就是绘制的斜面的图形,就只有一条线
plot([0 L],[0,L*tan(alfa)]);
hold on
plot([0 L],[h h],'k');


%%下面是使用的循环语句绘制探测波束的图形
%%实际上就是一个迭代的过程,理解清楚就好了
for i=1:length(xx1)-1
    plot([xx1(i) xx2(i)],[yy1(i) yy2(i)],'r');
    plot([xx1(i) xx2(i+1)],[yy1(i) yy2(i+1)],'r');
end

相关的代码解释和注意说明已经作为注释写了进去,请注意查看理解;~~

相关推荐
超级码力6669 小时前
【Latex魔术注解+导言区】Latex魔术注解+导言区分类介绍
算法·数学建模
阳光普照世界和平1 天前
形式化验证
数学建模
SomeOtherTime1 天前
旋度的直观理解(AI回答)
数学建模
AI科技星1 天前
三维网格—素数对偶性及其严格证明(全域数学·统一基态演化版)
算法·数学建模·数据挖掘
大学竞赛君2 天前
2026 第十六届 MathorCup 高校数学建模挑战赛A题解题(含代码)
数学建模
码农的神经元2 天前
2026 年第十六届MathorCup 数学应用挑战赛:E 题罕见病药品医保谈判定价模型及用药成本优化研究
数学建模
一只小小的土拨鼠2 天前
2026年MathorCup数学建模挑战赛ABCDE(妈妈杯数学建模)参赛思路与解题策略全解析(详细解题思路和论文+完整项目代码+全套资源)
数学建模·妈妈杯
热心网友俣先生2 天前
2026年妈杯MathorCup赛题浅析-五大题目全攻略-助攻快速选题
数学建模
小文数模2 天前
2026 年MathorCup(妈妈杯)数学建模竞赛C完整参考论文(第一版)
c语言·数学建模·matlab
码农的神经元2 天前
2026 MathorCup 选题建议:A/B/C/D/E 题到底怎么选?
c语言·开发语言·数学建模