MATLAB实现

trilateration_position.m

% ----------------采用三边定位法对未知节点定位-------------------------------%{clc命令是用来清除命令窗口的内容。不管开启多少个应用程序,命令窗口只有一个,所以clc无论是在脚本m文件或者函数m文件调用时,clc命令都会清除命令窗口的内容。clear命令可以用来清除工作空间的内容。MATLAB有个基本的工作空间,用base标识,此外,当打开一个函数m文件时,可能会产生很多工作空间。每一个函数对应一个工作空间。
%}
clear;maxx = 1000;%参考节点分布的最大横坐标
maxy = 1000;%参考节点分布的最大纵坐标%----------------------随机初始化三个已知的参考点[cx,cy]-----------------
%{rand()产生0和1之间均匀分布的随机数rand(m)产生一个m*m的矩阵,当然矩阵的值是0和1之间均匀分布的随机数rand(m,n)或者rand([m,n])产生一个m*n的矩阵randn()产生均值为0, 方差为1的正态分布的随机数。用法和rand类似。
%}
cx = maxx*rand(1,3);
cy = maxy*rand(1,3);
plot(cx,cy,'k^');%参考节点图%--------随机初始化一个未知节点(mx,my)-----------
mx = maxx*rand();
my = maxy*rand();
hold on;
% 盲节点图
plot(mx,my,'go'); da = sqrt((mx-cx(1))^2+(my-cy(1))^2);
db = sqrt((mx-cx(2))^2+(my-cy(2))^2);
dc = sqrt((mx-cx(3))^2+(my-cy(3))^2);% 计算定位坐标
[locx,locy] = triposition(cx(1),cy(1),da,cx(2),cy(2),db,cx(3),cy(3),dc);
plot(locx,locy,'r*');
legend('参考节点','盲节点','定位节点','Location','SouthEast');
title('三边测量法的定位');derror = sqrt((locx-mx)^2 + (locy-my)^2);
disp(derror);

triposition.m

function [locx,locy] = triposition(xa,ya,da,xb,yb,db,xc,yc,dc)
%              三点定位法                          %
%输入:
%   1.参考节点A(xa,ya),B(xb,yb),C(xc,yc)
%   2.定位节点D(locx,locy)到这三点的距离分别为da,db,dc
%返回:
%   (locx,locy)为计算的定位节点D点的位置坐标
%
syms x y   %f符号变量
%--------------求解方程组------------------------------------
f1 = '2*x*(xa-xc)+xc^2-xa^2+2*y*(ya-yc)+yc^2-ya^2=dc^2-da^2';
f2 = '2*x*(xb-xc)+xc^2-xb^2+2*y*(yb-yc)+yc^2-yb^2=dc^2-db^2';
% 解关于x,y的符号方程组,得到解的符号表示,并存入xx,yy
[xx,yy] = solve(f1,f2,x,y);
px = eval(xx);  %解的数值px(1),px(2)
py = eval(yy);  %解的数值py(1),py(2)
locx = px;
locy = py;

MATLAB实现三边定位相关推荐

  1. 基于笛卡尔坐标系下的三边定位的研究(TOA方式定位)

    基于笛卡尔坐标系下的三边定位的简单研究(TOA方式定位) 引言: 在无线定位中,TOA方式下的三边定位有它的优越性,定位精度高,三个基站就可实现精确定位.目前的超宽带技术的普及应用,普遍采用该种定位的 ...

  2. 【三边定位】 演示程序V0.1

    忙于工作,这个小东西一直没有空去弄, 最近简单修改了些算法, 精度还有待提高. 贴一张图片 坐上角的坐标是鼠标点(31,17),后面location 是三边定位算出来的(31,19),后面跟的erro ...

  3. 基于激光雷达实现三边定位算法开发记录(五)——三角函数法拟定圆心

    22年暑假实习过程中第一个开发任务,基于激光雷达实现三边定位功能 开发平台为ubuntu 18.04 + ros melodic 日期:2022.7.22 本次实现:由于实现三边定位需要先找反光柱的圆 ...

  4. 基于激光雷达实现三边定位算法开发记录(一)——查找激光最强点

    22年暑假实习过程中第一个开发任务,基于激光雷达实现三边定位开发功能 开发平台为ubuntu 18.04 + ros melodic 日期:2022.7.18 本次实现:由于实现三边定位需要先找反光柱 ...

  5. MATLAB身份证件号码定位识别

    题目:MATLAB身份证件号码定位识别 程序代码 %身份证识别程序.识别身份证上面的身份证号码,并且单独提取出来,形成一副仅剩身份证号码的二值区域图像 clc; clear all; close al ...

  6. 三边定位_位置解析(C++)

    一.三边定位位置解析 通过对已知的三个基站的坐标和三个基站分别到未知点的距离来确定,未知点的坐标. 注:这个解析算法代码是通过对Decawave公司的开源代码剪切更改而来的. 代码: // ----- ...

  7. 基于激光雷达实现三边定位算法开发记录(二)——查找多个反光柱数据

    22年暑假实习过程中第一个开发任务,基于激光雷达实现三边定位开发功能 开发平台为ubuntu 18.04 + ros melodic 日期:2022.7.19 本次实现:由于实现三边定位需要先找反光柱 ...

  8. 基于python与matlab的TOA定位算法性能仿真

    基于python与matlab的TOA定位算法性能仿真 仿真要求 仿真方案的设计 matlab仿真代码 python仿真代码 仿真结果 仿真要求 要求一:编写两个函数TOA_LLOP和TOA_CHAN ...

  9. 三角定位matlab,matlab 在三维空间的三边定位算法模拟如何写?

    共回答了21个问题采纳率:100% 按照楼主的算法给楼主编了一个函数,楼主将它存为一个m文件,在matlab的命令窗口即可运行. 这里主要用到一个解线性方程组的方法楼主可以主要一下.其实matlab的 ...

  10. matlab立体坐标定位_【半导光电】基于光电探测器的激光章动定位算法(二)

    今日光电        有人说,20世纪是电的世纪,21世纪是光的世纪:知光解电,再小的个体都可以被赋能.欢迎来到今日光电! ----与智者为伍 为创新赋能---- 1. 章动定位算法实验前,首先需要 ...

最新文章

  1. 邓侃:深度强化学习“深”在哪里?
  2. django如何给上传的图片重命名(给上传文件重命名)
  3. 2020-09-01
  4. 更改应用程序图标_苹果更新 TestFlight 应用图标,增加更多拟真细节
  5. 程序员恭喜了!10月起逼自己拿下这个证,年薪68万起!
  6. vs2008打开vs2010所做的项目的方法
  7. python内置函数map_python内置函数 map/reduce
  8. matlab求零空间,【线性代数】矩阵的零空间
  9. vb 服务器mysql_VB 连接mysql网络数据库的代码
  10. 使用 GO-CQHttp或mirai框架 搭建QQ的机器人
  11. html js手册chm,W3C Javascript CHM参考手册离线版
  12. 自建 bitwarden 密码管理服务
  13. html看汉字选拼音小游戏
  14. 通天塔导游:各种编程语言优缺点
  15. 打造自己的图像识别模型
  16. 新技术加速隐私暴露,如何应对?(二)
  17. 电脑键盘没反应?有可能是趴着睡觉时按了它
  18. [JavaScript学习-01]JavaScript实现九宫格抽奖
  19. excel波士顿矩阵怎么做_excel矩阵图怎么做
  20. 基于FPGA的信号发生器的设计

热门文章

  1. 树莓派GPIO引脚详解
  2. 大厂硬件技术二面的题目
  3. Houdini VEX 制作楼梯
  4. RFID-射频识别技术
  5. Redis key-value乱码问题
  6. 局域网显示服务器未启动,“Workstation服务器无法启动,所以上不连局域网解决方案”的解决方案...
  7. 稀疏编码(Sparse Coding)
  8. 怎么查oa系统的服务器地址,oa系统服务器地址如何查
  9. 硬盘安装Win7教程!无光驱无U盘照样装Win7
  10. 如何在移动硬盘上安装Linux系统?WIN10 + Ubuntu 18.0.4(LTS)