定位算法——多边测量法及MATLAB编程
文章目录
- 三边测距定位算法简介
- 多边测量法公式推导
- 三边测距定位算法MATLAB程序
三边测距定位算法简介
三边测量法是多边测量法的低级应用,即已知三个点的横纵坐标和与未知点的距离ddd,如下图所示:
如图所示已知(x1,y1)(x_1,y_1)(x1,y1),(x2,y2)(x_2,y_2)(x2,y2),(x3,y3)(x_3,y_3)(x3,y3)和d1d_1d1,d2d_2d2,d3d_3d3就可以求出(xi,yi)(x_i,y_i)(xi,yi)。
多边测量法公式推导
1.建立已知节点与未知节点的距离方程组
{(x1−x)2+(y1−y)2=d12⋮(xn−x)2+(yn−y)2=dn2\begin{cases} (x_1-x)^2+(y_1-y)^2=d_1^2 \\ \qquad \quad \qquad \vdots \\ (x_n-x)^2+(y_n-y)^2=d_n^2\\ \end{cases} ⎩⎪⎪⎨⎪⎪⎧(x1−x)2+(y1−y)2=d12⋮(xn−x)2+(yn−y)2=dn2
2.上式方程组为非线性方程组,用方程组前n−1n-1n−1个方程减去第nnn个方程后,得到线性化的方程:
AX=BAX=B AX=B
其中:
A=[2(x1−xn)2(y1−yn)⋮⋮2(xn−1−xn)2(yn−1−yn)]A=\begin{bmatrix} 2(x_1-x_n) & 2(y_1-y_n) \\ \vdots&\vdots\\ 2(x_{n-1}-x_n) & 2(y_{n-1}-y_n)\\ \end{bmatrix} A=⎣⎢⎡2(x1−xn)⋮2(xn−1−xn)2(y1−yn)⋮2(yn−1−yn)⎦⎥⎤
B=[x12−xn2+y12−yn2+dn2−d12⋮xn−12−xn2+yn−12−yn2+dn2−dn−12]B=\begin{bmatrix} x_1^2-x_n^2+ y_1^2-y_n^2+d_n^2-d_1^2 \\ \vdots\\ x_{n-1}^2-x_n^2+ y_{n-1}^2-y_n^2+d_n^2-d_{n-1}^2\\ \end{bmatrix} B=⎣⎢⎡x12−xn2+y12−yn2+dn2−d12⋮xn−12−xn2+yn−12−yn2+dn2−dn−12⎦⎥⎤
3.用最小二乘法求解上边方程得:
X=(ATA)−1ATbX=(A^TA)^{-1}A^Tb X=(ATA)−1ATb
三边测距定位算法MATLAB程序
%% x输入为横坐标矩阵 yx输入为纵坐标矩阵 distance为距离矩阵,距离矩阵里可能包含0值,即未给出距离的值
%% xx,yy 分别为求得的未知点横纵坐标
function [xx,yy]=Trilat(x,y,distance)
[sz1,sz2]=size(distance);%获取距离矩阵大小
%%处理数据
for i=1:sz1n=1;for m=1:sz2if distance(i,m)~=0%判断距离矩阵是否为0x1(i,n)=x(m);%不等于0时取对应的x,y值y1(i,n)=y(m);d(i,n)=distance(i,m);n=n+1; endend
end
[sz3,sz4]=size(x1);%获取处理后距离矩阵大小
%%根据三边测量法求解位置节点
for i=1:sz1
n=1;
for o=1:sz4-2for p=o+1:sz4-1for q=p+1:sz4A=[2*(x1(i,o)-x1(i,q)),2*(y1(i,o)-y1(i,q));2*(x1(i,p)-x1(i,q)),2*(y1(i,p)-y1(i,q))];B=[x1(i,o)^2-x1(i,q)^2+y1(i,o)^2-y1(i,q)^2+d(i,q)^2-d(i,o)^2;x1(i,p)^2-x1(i,q)^2+y1(i,p)^2-y1(i,q)^2+d(i,q)^2-d(i,p)^2];X=(A'*A)^(-1)*A'*B; xx(i,n)=X(1);yy(i,n)=X(2);n=n+1;endend
end
endend
多边测量法代码可私信我。创作不易,请大家多多支持!
定位算法——多边测量法及MATLAB编程相关推荐
- 有限差分方法的matlab编程,有限差分方法的MATLAB编程
有限差分方法的MATLAB编程 实践中应用的电磁场,其场域的边界大多数比较复杂,使解析法难以应用.虽然有些电磁问题经简化后能解析求解,但解的 (本文共6页) 阅读全文>> 以二叉树方法和有 ...
- 纵横向档次拉法的MATLAB编程
纵横向档次拉法的MATLAB编程 原创内容,未经允许请勿转载 作者: 马瑞祺 E-mail: maruiqiaufe@163.com Date: 2021-10-08 文章目录 纵横向档次拉法的MAT ...
- matlab语音算法,[转载]RLS算法多麦克风语音降噪( matlab编程 )
RLS算法多麦克风语音降噪 一.课程设计的目的 综合运用信号与系统.数字信号处理.概率论.矩阵运算的知识进行语音信号的增强,利用MATLAB作为编程工具进行计算机实现,从而加深对所学知识的理解,建立概 ...
- 【基于遗传算法改进的粒子群GA-PSO算法优化shubert函数及MATLAB编程实现,测试函数shubert(十)
测试函数shubert(十) shubert函数属于周期性多峰函数,如图1所示拥有多个全局最优值,如图二所示在一个周期内只有一个全局最优值,局部最优解较多,适合测试算法的收敛性能,粒子群算法是一种收敛 ...
- 有限差分方法的matlab编程,有限差分方法的MATLAB编程(1)
第22卷第4期 <新疆师范大学学报>(自然科学版)JournalofXinjiangNormalUniversity (NaturalSciencesEdition) VoI.22,No. ...
- 基于模拟退火算法改进粒子群SA-PSO优化shubert函数,测试函数shubert(十),MATLAB编程实现
测试函数shubert(十) shubert函数属于周期性多峰函数,如图1所示拥有多个全局最优值,如图二所示在一个周期内只有一个全局最优值,局部最优解较多,适合测试算法的收敛性能,粒子群算法是一种收敛 ...
- rssi参数获取_rssi定位算法及读取RSSI值程序分享
在区域监测.人员跟踪等无线传感器网络的应用领域,位置信息至关重要,事件发生的位置,人员位置均是传感器网络应用中的重要信息.随着移动通信.无线传感器网络技术的发展,室内环境下基于位置的服务越来越受到人们 ...
- 伪距定位算法(matlab版)
在各种伪距定位算法中,最小二乘法是一种比较简单而广泛的方法,该算法可以分为以下几步: 1.准备数据与设置初始值 这里准备数据,主要是对于各颗可见卫星,收集到它们在同一时刻的伪距测量值,计算测量值的各项 ...
- aoa定位算法matlab仿真,基于信号到达角度(AOA)的定位算法研究
内容摘要:基于信号到达角度(AOA)的定位算法是一种常见的无线传感器网络节点自定位算法,算法通信开销低,定位精度较高.由于各种原因,估测的多个节点位置可能存在不可靠位置,提出了一种改进的基于信号到达角 ...
- matlab rdk,rtklib_2.4.2_p3 gps导航定位算法,有最先进的rtk matlab 238万源代码下载- www.pudn.com...
文件名称: rtklib_2.4.2_p3下载 收藏√ [ 5 4 3 2 1 ] 开发工具: C++ Builder 文件大小: 14970 KB 上传时间: 2014-07-20 下载次 ...
最新文章
- 基于深度学习的肺癌预测诊断
- 又肝了下微服务 API 网关“金刚”,也是蛮香的~
- project 模板_施工进度横道图不会做?18份计划模板收藏好,输入参数迅速成图...
- python数据分析的步骤排序_Python数据分析
- 深入理解CPU cache:组织、一致性(同步)、编程
- Bucket不为空,请检查该Bucket是否包含未删除的Object或者未成功的Multipart碎片
- 蓝桥杯 ADV-173算法提高 淘淘的名单
- 算法工程师面试必考点:Dropout和R-Dropout的使用技巧
- 台湾ICPlus IP178G/GH/GI 8接口FE以太网交换机芯片详细介绍
- 鸿翼上线DMSTMS管理系统,助力智飞龙科马打造数字化质量安全生命线
- 对软件迭代开发的一些感悟
- word将空格替换为逗号
- 2022Android高级面试题汇总解答,2022-2022阿里巴巴安卓面试真题解析
- 常见开关电源优缺点对比
- ClickOnce踩坑记录
- c语言规定 标识符由,C语言规定标识符只能由字母、数字和小数点三种字符组成。()...
- 关于tensorflow的报错NodeDef mentions attr ‘xxx‘ not in Op的解决方案和产生原因
- 米家扫地机器人是石头代工_科沃斯投资研究报告 - 大湾区小家电分享
- 【知识图谱 赵军 学习笔记】第十章 知识问答与对话
- TikZ作图教程:图论篇—树图的绘制
热门文章
- 对可道云KodExplorer去掉版权简单破解方法
- ROBOGUIDE软件:FANUC机器人弧焊焊接系统配置与虚拟仿真
- 配置管理系统和整体变更系统有什么区别与联系
- C语言计算星历位置,GPS广播星历计算卫星位置和速度
- 设计模式、重构.pdf
- doc88、道客巴巴 文库文档下载
- 倒立摆 adams matlab,基于ADAMS与MATLAB联合仿真地倒立摆设计毕业论文.docx
- 传说中的世界500强面试题-推理能力(1)
- 雅虎助手是如何自杀式攻击360安全卫士的?雅虎助手,3721是什么恶心人的--(部份转贴)
- 逆向分析CRACKME 第一章 Acid burn