资讯动态

2022数学建模B题解析:无人机纯方位无源定位与位置调整

发布时间:2026/10/17 14:46:51 来源:尧图企业网站定制
简介本资源为2022年全国大学生数学建模竞赛本科组B题的完整论文PDF聚焦无人机纯方位无源定位问题适合备战数模竞赛的本科生及指导教师参考。论文围绕圆形与锥形编队建立被动接收信号无人机的定位模型与位置调整模型运用二维直角坐标系、余弦定理与“三圆共点”原理推导发射信号无人机数量需求并给出步长0.01米的遍历调整方案全部求解过程使用MATLAB编程实现。压缩包内仅含1个PDF文件约2.63MB内容涵盖摘要、问题重述、模型假设、符号说明及模型建立与求解等完整章节结构规范便于按模块研读。该论文曾获河北省一等奖目前已有8039人学习下载读者可从中获取赛题分析思路、建模推导细节与MATLAB实现方法适合作为赛前模拟与论文写作的参考范例。1. 这道题到底考什么从“三圆共点”看命题人的出题逻辑很多人拿到2022年全国大学生数学建模竞赛本科组B题第一反应是“无人机定位跟我有什么关系”。但如果你把题目拆开看命题人真正想考的不是无人机而是几何建模能力和多源信息融合下的位置反解。这道题的核心就一句话已知几个固定点通过接收到的方位角信息反推出一个动点的位置。听起来简单但命题人埋了三层递进——第一层是“三个方位信息确定一个点”第二层是“方位信息不够时怎么办”第三层是“位置有偏差时怎么调回去”。每一层都在考你同一个东西能不能把几何关系翻译成方程再用数值方法解出来。这道题适合谁适合正在准备数学建模竞赛、尤其是想拿赛区一等奖以上的队伍。它不考高深的算法不考机器学习考的是你对余弦定理、坐标系变换、枚举搜索这些基本功的掌握程度。拿分的关键不在于模型多花哨而在于逻辑链条完整、每一步都有数学依据、结果可复现。阅卷人最怕看到的是“我觉得应该这样”最想看到的是“由余弦定理可得代入已知量解得”。2. 高频考点拆解余弦定理与坐标系建立的四种考法2.1 第一小问三个方位信息如何唯一确定一个点这是整道题的地基。题目设定是圆心一架无人机0号、圆周上两架无人机1号和另一架发射信号位置无偏差另一架圆周上的无人机接收信号位置有偏差。你要建立模型根据接收到的三个方位角算出这架接收信号无人机的实际位置。命题人在这里考的是余弦定理的连环使用。具体来说你把0号固定在原点1号固定在x轴上圆周半径记为r。接收信号无人机与三架发射信号无人机之间的连线夹角就是三个方位信息。这三个角是已知的三架发射信号无人机的位置也是已知的那么接收信号无人机的位置就是唯一确定的。答题思路是这样的先建立二维直角坐标系把0号放在原点1号放在(r, 0)。然后利用余弦定理在三个三角形中分别建立方程。注意这里有一个容易翻车的地方——你要求的是接收信号无人机的坐标而不是它到发射信号无人机的距离。很多队伍在这里绕了弯路先求距离再求坐标其实可以直接用角度和已知边长列方程。具体操作设接收信号无人机坐标为(x, y)它与0号、1号、另一架发射信号无人机的距离分别为d0、d1、d2。由余弦定理d0和d1之间的夹角已知d0和d2之间的夹角已知d1和d2之间的夹角已知。三个方程三个未知数解出来就完事。但要注意余弦定理给出的是距离之间的关系你还需要把距离转换成坐标。这里建议直接用坐标表示距离然后解非线性方程组。提示如果手工推导太复杂可以用MATLAB的符号计算工具箱先推导出解析解再用数值计算验证。阅卷人看重的是你的推导过程不是最后那个数字。2.2 第二小问为什么只需要额外增加一架无人机这一问是整道题最容易被低估的地方。题目问0号和1号已经发射信号了还需要额外增加几架发射信号无人机才能实现其他接收信号无人机的准确定位答案是一架。但关键不在于答案而在于你怎么证明“一架就够了”。命题人考的是轨迹相交的思想。当只有两个发射信号源时接收信号无人机只能得到一个方位信息。一个动点到两个定点的夹角是定值这个动点的轨迹是什么是两段对称的圆弧合起来像一个“眼睛”或者“葫芦”。具体形状取决于夹角是锐角还是钝角。这个结论需要你证明不能直接说“显然”。证明思路设两个定点为A和B动点P满足∠APB α定值。以AB为弦作圆周角为α的圆弧。这样的圆弧有两条上下对称。所以P的轨迹就是这两段圆弧组成的封闭曲线。当α为钝角时圆弧向外凸形状像“眼睛”当α为锐角时圆弧向内凹形状像“葫芦”。那么当你有三个发射信号源时接收信号无人机就能得到三个方位信息。每个方位信息对应一条轨迹两条圆弧三条轨迹相交于一点这个点就是接收信号无人机的准确位置。所以额外增加一架发射信号无人机就能让接收信号无人机获得三个方位信息从而实现定位。但这里有一个坑三个方位信息必须来自三个不同的发射信号源而且这三个源不能共线。如果三个源共线轨迹可能不相交于唯一一点。题目中0号在圆心1号在圆周上额外增加的那架也在圆周上三者不共线所以没问题。答题时你需要用枚举法算出所有情况下三个方位信息的准确值然后对于某架接收信号无人机遍历所有可能的额外发射信号无人机找到使“准确值与偏差值之差的平方和”最小的那一架。这个平方和最小化就是你的目标函数。% 枚举所有可能的额外发射信号无人机 FY00 0; FY0i 1; r input(圆形编队半径); for FY0j 2:9 for FY0k 2:9 if FY0k FY0j continue; end % 计算三个方位角的准确值 a1 sqrt(2*r^2 - cosd((FY0j-FY0i)*40)*2*r^2); a3 sqrt(2*r^2 - cosd((FY0k-FY0i)*40)*2*r^2); a2 sqrt(2*r^2 - cosd((FY0k-FY0j)*40)*2*r^2); alpha1(FY0j,FY0k) acosd((r^2a3^2-r^2)/(2*r*a3)); alpha2(FY0j,FY0k) acosd((a3^2a2^2-a1^2)/(2*a3*a2)); alpha3(FY0j,FY0k) acosd((r^2a2^2-r^2)/(2*r*a2)); end end % 反解找到使平方和最小的额外发射信号无人机 beta1 input(第一个角度); beta2 input(第二个角度); beta3 input(第三个角度); FY0k input(接收信号的无人机编号); min_val 1000; mini 0; for i 2:9 if i FY0k continue; end m (beta1-alpha1(i,FY0k))^2 (beta2-alpha2(i,FY0k))^2 (beta3-alpha3(i,FY0k))^2; if m min_val min_val m; mini i; end end disp([额外增加的发射信号无人机编号, num2str(mini)]);这段代码的逻辑是先枚举所有可能的额外发射信号无人机组合算出每种组合下三个方位角的准确值。然后对于给定的接收信号无人机和它实际接收到的三个方位角有偏差遍历所有可能的额外发射信号无人机找到使平方和最小的那一架。这个平方和最小化就是你的判据。参数说明FY0i和FY0j是两架已知的发射信号无人机FY0k是接收信号无人机。alpha1、alpha2、alpha3是三个方位角的准确值。beta1、beta2、beta3是实际接收到的有偏差的方位角。min_val初始化为一个很大的数mini记录使平方和最小的额外发射信号无人机编号。2.3 第三小问位置调整的步长搜索策略这一问考的是数值搜索。题目给了所有无人机的初始位置有偏差要求你给出调整方案让它们回到理想位置。理想位置是0号在圆心其他9架均匀分布在半径为100米的圆周上。答题思路0号和1号已经处于理想位置保持不动。2号无人机根据0号和1号的方位信息进行位置调整。具体怎么调设定步长为0.01米向四周全方位遍历。每移动一个步长就重新计算接收到的方位信息与理想位置对应的方位信息比较。当偏差小于0.01米时认为到达理想位置。这里的关键是极坐标下的位置更新。你把无人机的位置用极坐标(r, θ)表示每次移动一个微小步长更新r和θ。具体来说向北移动意味着r增加向南移动意味着r减小。但无人机不知道应该往哪个方向调所以需要全方位遍历。% 圆形编队无人机位置调整 FY00 0; FY01 1; njl 0.01; % 最小距离阈值 r 100; % 圆形编队半径 bzrow 100; % 准确位置的极径 bztheta [0 40 80 120 160 200 240 280 320]; % 准确位置的极角 FY0irow(2) input(FY02的初始极径); FY0itheta(2) input(FY02的初始极角); jl 100; while jl njl mjl 10000; for j 0:359 % 尝试每个方向 new_row FY0irow(2) njl * cosd(j); new_theta FY0itheta(2) njl * sind(j); % 计算新位置与理想位置的距离 dist sqrt(new_row^2 bzrow^2 - 2*new_row*bzrow*cosd(new_theta-bztheta(2))); if dist mjl mjl dist; best_row new_row; best_theta new_theta; end end FY0irow(2) best_row; FY0itheta(2) best_theta; jl mjl; end disp([调整后的极径, num2str(FY0irow(2))]); disp([调整后的极角, num2str(FY0itheta(2))]);这段代码的逻辑是对于2号无人机从初始位置开始每次尝试360个方向每个方向移动0.01米找到使新位置与理想位置距离最小的方向。然后更新位置重复这个过程直到距离小于0.01米。参数说明njl是步长r是圆周半径bzrow和bztheta是理想位置的极径和极角。FY0irow和FY0itheta是无人机的当前极径和极角。jl是当前距离与理想位置的距离初始化为100保证进入循环。注意这里有一个容易忽略的点——调整时间不计。题目假设无人机知道自己需要调整位置的瞬间就已经调整到理想位置。所以你的算法不需要考虑调整过程中的时间消耗只需要给出最终位置。2.4 问题二锥形编队的定位与调整问题二把圆形编队换成了锥形编队。锥形编队的特点是直线上相邻两架无人机的间距相等相邻三架无人机构成等边三角形。这意味着无人机之间的相对位置关系更复杂但核心方法不变。答题思路假设1号和5号无人机位置无偏差它们之间的距离保持不变。先定位2号无人机将1号和2号作为发射信号5号接收信号得到一个方位信息将2号和5号作为发射信号1号接收信号得到另一个方位信息。在三角形1-2-5中两个角已知第三个角也能确定于是2号的位置就确定了。然后像问题一第三小问那样向四周遍历搜索直到2号到达理想位置。但这里有一个坑当某架无人机位于1、2、5号构成的三角形的边的延长线上时只能传送一个方向信息无法准确定位。所以第二轮定位时4、7、9、11、13、14号无人机依然无法定位。第三轮选取2、6、8号作为发射信号无人机剩下的未定位无人机都能定位。% 锥形编队无人机位置调整 % 假设1号和5号位置无偏差 % 先定位2号 % 利用三角形1-2-5已知两个角求第三个角 % 然后向四周遍历搜索直到到达理想位置 % 具体代码与圆形编队类似只是理想位置不同这段代码的逻辑与圆形编队类似只是理想位置的坐标不同。锥形编队的理想位置需要根据题目给出的几何关系计算。注意锥形编队的调整方向可能不是简单的径向移动而是沿锥面调整。这需要对锥面的几何特性有深入理解。3. 真题演练三道高频题的标准答题模板3.1 题目一证明“一个动点到两定点的夹角为定值其轨迹为两段圆弧”这是问题一第二小问的核心证明。很多队伍在这里直接引用结论没有证明导致失分。标准答题模板设两定点为A和B动点P满足∠APB α定值。以AB为弦作圆周角为α的圆弧。由圆周角定理同弧所对的圆周角相等所以P的轨迹就是这两段圆弧。当α为钝角时圆弧向外凸形状像“眼睛”当α为锐角时圆弧向内凹形状像“葫芦”。证明完毕。注意这里需要说明“上下对称”的原因因为A和B固定P可以在AB的上方或下方所以轨迹有两段上下对称。3.2 题目二为什么“三圆共点”能确定接收信号无人机的位置这是问题一第二小问的另一个核心证明。标准答题模板当有三个发射信号源时接收信号无人机得到三个方位信息。每个方位信息对应一条轨迹两段圆弧。三条轨迹相交于一点这个点就是接收信号无人机的准确位置。由“三圆共点”定理三个圆或圆弧如果有公共交点那么这个交点就是唯一的。所以接收信号无人机的位置可以唯一确定。注意这里需要说明“三个发射信号源不共线”的条件。如果三个源共线轨迹可能不相交于唯一一点。3.3 题目三位置调整的步长搜索为什么有效这是问题一第三小问的核心证明。标准答题模板设定步长为0.01米向四周全方位遍历。每移动一个步长就重新计算接收到的方位信息与理想位置对应的方位信息比较。当偏差小于0.01米时认为到达理想位置。由于步长足够小搜索空间足够大所以一定能找到使偏差最小的方向。重复这个过程直到偏差小于阈值。注意这里需要说明“调整时间不计”的假设。因为题目假设无人机知道自己需要调整位置的瞬间就已经调整到理想位置所以不需要考虑调整过程中的时间消耗。4. 易错点与失分点阅卷人最想扣分的五个地方4.1 坐标系建立不规范错在哪很多队伍直接说“建立直角坐标系”但没有说明原点在哪、x轴方向如何、单位长度是多少。为什么错坐标系是后续所有推导的基础。如果坐标系不明确阅卷人无法验证你的推导是否正确。怎么答对明确写出“以0号无人机为原点1号无人机所在方向为x轴正方向圆周半径为单位长度”。这样后续所有坐标和角度都有明确的参照。4.2 余弦定理使用错误错在哪在三角形中使用余弦定理时把角度和边的对应关系搞混。为什么错余弦定理是a² b² c² - 2bc·cosA其中A是边a的对角。很多队伍把A搞成了边b或边c的对角。怎么答对每次使用余弦定理前先画出三角形标出已知边和已知角确认对应关系。如果不确定可以用符号计算工具验证。4.3 枚举法遗漏情况错在哪在问题一第二小问中枚举所有可能的额外发射信号无人机时遗漏了某些组合。为什么错题目中0号和1号已经发射信号额外增加的无人机可以从2号到9号中选择。但有些队伍只考虑了部分组合导致结果不完整。怎么答对用双重循环遍历所有可能的组合确保不遗漏。注意额外增加的无人机不能是接收信号无人机本身。4.4 位置调整方向搞反错在哪在问题一第三小问中把“向北移动”和“向南移动”的方向搞反。为什么错极坐标中r增加意味着远离圆心r减小意味着靠近圆心。但“向北”和“向南”是直角坐标系中的概念需要转换。怎么答对明确“向北”对应r增加“向南”对应r减小。如果不确定可以画图验证。4.5 锥形编队延长线问题忽略错在哪在问题二中没有考虑无人机位于三角形边的延长线上的情况。为什么错当无人机位于延长线上时只能接收到一个方向信息无法准确定位。如果忽略这一点会导致定位失败。怎么答对在第二轮定位时明确列出无法定位的无人机编号4、7、9、11、13、14然后在第三轮中选取合适的发射信号无人机2、6、8确保剩下的无人机都能定位。5. 答题技巧从审题到交卷的完整流程5.1 审题阶段先画图再列方程拿到题目后不要急着写代码。先用纸笔画出编队示意图标出已知量和未知量。对于圆形编队画出圆心和圆周上的无人机标出半径和角度。对于锥形编队画出等边三角形的结构。画图的过程就是理解题目的过程。然后把题目中的文字描述翻译成数学语言。比如“纯方位无源定位”翻译成“已知几个固定点的位置和接收到的方位角反推动点位置”。“位置调整”翻译成“通过迭代搜索使动点位置逼近理想位置”。5.2 建模阶段先特殊再一般不要一上来就建最复杂的模型。先从最简单的情况入手比如问题一第一小问三个发射信号源位置无偏差接收信号无人机位置有偏差。建立模型后再推广到更复杂的情况。建模时注意符号说明。把每个变量的含义写清楚比如r是圆周半径α1、α2、α3是三个方位角d0、d1、d2是距离。这样后续推导才不会乱。5.3 求解阶段先解析再数值如果方程比较简单先尝试解析求解。比如问题一第一小问可以用余弦定理直接推导出解析解。如果方程太复杂再用数值方法。MATLAB的符号计算工具箱可以帮助你推导解析解数值计算工具箱可以帮助你求解非线性方程组。求解时注意验证结果。比如把求出的坐标代入原方程看是否满足。如果不满足说明推导或计算有误。5.4 写作阶段先逻辑再细节论文的写作顺序应该是先写问题重述和问题分析再写模型建立和求解最后写模型评价和推广。每一部分都要有明确的逻辑链条不能跳跃。写作时注意公式编号。每个公式都要编号方便引用。比如“由公式(1)和公式(2)可得...”。这样阅卷人能快速定位你的推导过程。5.5 检查阶段先结果再过程交卷前先检查结果是否合理。比如圆形编队的半径是100米那么无人机的坐标应该在-100到100之间。如果算出来是1000说明有误。然后检查过程是否完整。每个假设都要有依据每个公式都要有推导每个结果都要有验证。如果时间允许可以用不同的方法验证同一个结果。提示阅卷人最看重的是逻辑链条的完整性而不是结果的精确性。即使最后结果有微小偏差只要推导过程正确依然能拿高分。从那以后我每次拿到建模题都强制走一遍“画图→列方程→验证→写作”的流程不跳过任何一步。希望帮到你。本文还有配套的精品资源点击获取

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑