定位算法——多边测量法及MATLAB编程

article/2025/11/10 9:05:35

文章目录

  • 三边测距定位算法简介
  • 多边测量法公式推导
  • 三边测距定位算法MATLAB程序

三边测距定位算法简介

 三边测量法是多边测量法的低级应用,即已知三个点的横纵坐标和与未知点的距离 d d d,如下图所示:
在这里插入图片描述
 如图所示已知 ( x 1 , y 1 ) (x_1,y_1) (x1,y1) ( x 2 , y 2 ) (x_2,y_2) (x2,y2) ( x 3 , y 3 ) (x_3,y_3) (x3,y3) d 1 d_1 d1 d 2 d_2 d2 d 3 d_3 d3就可以求出 ( x i , y i ) (x_i,y_i) (xi,yi)

多边测量法公式推导

 1.建立已知节点与未知节点的距离方程组
{ ( x 1 − x ) 2 + ( y 1 − y ) 2 = d 1 2 ⋮ ( x n − x ) 2 + ( y n − y ) 2 = d n 2 \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} (x1x)2+(y1y)2=d12(xnx)2+(yny)2=dn2
 2.上式方程组为非线性方程组,用方程组前 n − 1 n-1 n1个方程减去第 n n n个方程后,得到线性化的方程:
A X = B AX=B AX=B
其中:
A = [ 2 ( x 1 − x n ) 2 ( y 1 − y n ) ⋮ ⋮ 2 ( x n − 1 − x n ) 2 ( y n − 1 − y n ) ] 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(x1xn)2(xn1xn)2(y1yn)2(yn1yn)
B = [ x 1 2 − x n 2 + y 1 2 − y n 2 + d n 2 − d 1 2 ⋮ x n − 1 2 − x n 2 + y n − 1 2 − y n 2 + d n 2 − d n − 1 2 ] 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=x12xn2+y12yn2+dn2d12xn12xn2+yn12yn2+dn2dn12
 3.用最小二乘法求解上边方程得:
X = ( A T A ) − 1 A T b X=(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

 多边测量法代码可私信我。创作不易,请大家多多支持!


http://chatgpt.dhexx.cn/article/rfuwpmuP.shtml

相关文章

UWB 三边测量定位原理及最小二乘法和三角形质心法的应用—通俗解析

UWB 三边测量定位原理及最小二乘法和三角形质心法的应用—通俗解析 本人二线城市小程序员一枚,这段时间因为公司的原因,开始研究UWB,定位原理部分花了三整天看CSDN上的各种文章,零零散散,大多是讲的某一部分的原理,没有能给串联起来的。 把学习过程中一些心得分享给大家…

【UWB 定位】室内定位 三边定位算法

最近在整UWB室内定位,看到一些简单的测距数据解算算法,记录一下。 测 在基于测距的定位算法中,三边测量法是比较简单的算法,算法原理为:平面上有三个不共线的基站 A,B,C,和一个未知终端 D,并已…

Trilateration三边测量定位算法

Trilateration(三边测量)是一种常用的定位算法: 已知三点位置 (x1, y1), (x2, y2), (x3, y3)已知未知点 (x0, y0) 到三点距离 d1, d2, d3 以 d1, d2, d3 为半径作三个圆,根据毕达哥拉斯定理,得出交点即未知点的位置计…

python实现简单的三边测量定位

定位原理很简单,故不赘述,直接上源码,内附注释。(如果对您的学习有所帮助,还请帮忙点个赞,谢谢了) #!/usr/bin/env python3 # -*- coding: utf-8 -*- """ Created on Wed May 1…

三边测量定位算法C语言实现

三边定位算法 三边定位算法简介 三个位置已知点(锚节点,圆心)以及其到另外一个未知点(待定位点)的距离即半径(不准确),求位置节点坐标的过程; 实际上(例如…

dvhop三边测量法MATLAB,基于非测距的DV-Hop定位算法改进

无线传感器网络是由大量随机分布的传感器节点组成,是一种分布式的、自组织的网络。其关键技术包括:网络拓扑控制、节点定位、时钟同步、数据融合、路由协议等。而节点定位问题则是无线传感器网络中的一个最为基本和重要的问题。目前,无线传感器网络定位算法可以分为基于测距…

matlab 三边测量,三边测量的定位算法,matlab转为c

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 %三边测量的定位算法 %dA,dB,dC为A,B,C到未知节点(假定坐标[x,y]未知)的模拟测量距离 A [0,0]; B [25,25*sqrt(3)]; C [50,0]; dA51/sqrt(3); dB51/sqrt(3); dC51/sqrt(3); %A,B,C为三个选定的信标节点,节点坐标已知(为便于防真…

定位算法-三边测距定位

作者:姜小明 github 日期:2020-09-06 关键字:RANSAC, Multilateral positioning, localization 上一篇文章(《使用RANSAC的鲁棒TDOA Chan定位算法》)中提到,如果我们知道当前位置到各个基站的距离&#x…

三边测距定位算法详解

关注、星标公众号,直达精彩内容 来源:平行机器人 | 赵得江 整理:李肖遥 通过GPS定位系统实现无人机的空中悬停定点飞行 “定位”这个概念我想大家并不陌生,可以说定位技术的迅猛发展给我们的日常生活带来了极大的便利。比如&#…

Android框架揭秘电子书pdf下载

Android框架揭秘下载链接: https://pan.baidu.com/s/1W1xrsC2-w5MgsrY-6i_cFg 提取码获取方式:关注下面微信公众号,回复关键字: 1119

Android初学之路—Android系统框架

从下到上依次为: 1.Linux内核(Linux Kernel) Android系统的最底层是基于Linux内核实现的,它负责硬件驱动、网络管理、电源管理、系统安全、内存管理等。例如它可以负责显示驱动、基于Linux的帧缓存驱动、键盘驱动、Flash驱动、摄…

《Android框架揭秘》——2.2节搭建Android平台编译环境

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.2节搭建Android平台编译环境,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.2 搭建Android平台编译环境Android框架揭秘…

《Android框架揭秘》——2.3节搭建Android SDK开发环境

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.3节搭建Android SDK开发环境,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.3 搭建Android SDK开发环境Android框架揭秘…

《Android框架揭秘》——2.4节开发Android应用程序

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.4节开发Android应用程序,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.4 开发Android应用程序Android框架揭秘在上一节…

《Android框架揭秘》——2.1节主机环境构成

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.1节主机环境构成,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.1 主机环境构成Android框架揭秘虽然Android开发环境多…

《Android框架揭秘》——1.2节通过启动过程分析Android Framework

本节书摘来自异步社区《Android框架揭秘》一书中的第1章,第1.2节通过启动过程分析Android Framework,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 1.2 通过启动过程分析Android Fra…

《Android框架揭秘》——2.5节应用程序Framework源码级别调试

本节书摘来自异步社区《Android框架揭秘》一书中的第2章,第2.5节应用程序Framework源码级别调试,作者 金泰延 , 宋亨周 , 朴知勋 , 李白 , 林起永,更多章节内容可以访问云栖社区“异步社区”公众号查看 2.5 应用程序Framework源码级别调试An…

《Android框架揭秘》读书笔记--在Java中调用C库函数

简介 以下试验在Ubuntu16.04 x86,jdk安装:sudo apt-get install openjdk-9-jdk-headless,原书介绍的是在win系统实现。 步骤 第一步:编写Java代码第二步:编译Java代码第三步:生成C语言头文件第四步&#…

Android 框架揭秘 --读书笔记

Android 框架揭秘 Insied the Android Framework 转载于:https://www.cnblogs.com/drduan/p/4788554.html

android框架揭秘!Android开发者跳槽指南一线互联网公司面经总结

前言概要: 1,进大公司还是小公司,真的有的选? 2,校招的潜规则 3,校招想进大厂怎么办 4,社招的潜规则 5,社招想进大厂怎么办? 面试部门 岗位:商业化 - 高级 …