三边定位算法 matlab,三边测量法的MATLAB定位程序说明.doc
三边测量法的MATLAB定位程序说明
三边测量法的MATLAB定位程序说明(MATLAB 7.0下):
一、由三个文件组成,分别是
? 1)triposition.m
??2)find_three_p.m
? 3)locac3.m
? 三个源文件内容见后面二。?
1、组成图示
?图示如下(注意鼠标处分别打开了上面的三个源文件:):
2.运行主文件
? 首先切换到主程序locac3.m的界面,如下:
?点击工具 运行,等待一段时间,得到运行结果如下:
?? 同时在MATLAB命令窗口得到:??
?
?
二、三个源文件的内容
%一、m函数triposition.m文件内容
%一、m函数*****************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';
[xx,yy]=solve(f1,f2,x,y); %解关于x,y的符号方程组,得到解的符号表示,并存入xx,yy
px=eval_r(xx);? %解的数值px(1),px(2)
py=eval_r(yy);? %解的数值py(1),py(2)
locx=px;
locy=py;
?
?
%二、m函数find_three_p.m文件内容
function [xa,ya,xb,yb,xc,yc]=find_three_p(x,y)?
%从N点中随机选出不同的三点
% 输入:x,y是N点的坐标
%输出:xa,ya,xb,yb,xc,yc
%???? 为选出的任意三点的坐标
len=length(x);
% 取一点
t=fix(len*rand(1,1))+1;
ma=t;
xa=x(t);
ya=y(t);
%取第二点
while(1)
??? t=fix(len*rand(1,1))+1;
??? if(t~=ma)???????
????? mb=t;
????? xb=x(t);
????? yb=y(t);?? ???
????? break;
??? end???
end
%取第三点
while(1)
??? t=fix(len*rand(1,1))+1;
??? if (t~=ma)&&(t~=mb)???????
????? mc=t;
????? xc=x(t);
????? yc=y(t);?????
????? break;
??? end???
end
?
%三、主文件locac3.m文件内容
%*********locac3.m****************
%---采用三边定位法对未知节点定位---------
clear;
len=1000; %参考节点数
maxx=1000;%参考节点分布的最大横坐标
maxy=1000;%参考节点分布的最大纵坐标
%------参考点[cx,cy]-----------------
cx=maxx*rand(1,len);
cy=maxy*rand(1,len);
plot(cx,cy,'k^');%参考节点图
%--------未知节点(mx,my)-----------
mlen=200;? %未知点数
mx=maxx*rand(1,mlen);
my=maxy*rand(1,mlen);
hold on;
plot(mx,my,'go'); %盲节点图
%---------定位估计----------------------
wucha_p=0.00001;?? %定位误差
for p=1:mlen %对每个未知盲节点
???? [xa,ya,xb,yb,xc,yc]=find_three_p(cx,cy); %从参考点中任意选出三点
???? da=sqrt((mx(p)-xa)^2+(my(p)-ya)^2);
???? db=sqrt((mx(p)
三边定位算法 matlab,三边测量法的MATLAB定位程序说明.doc相关推荐
- 用matlab参数法拟合,MATLAB|曲线拟合基本介绍
曲线拟合工具箱cftool基本介绍 Tips mathworks官网的和help文件 https://cn.mathworks.com/help/curvefit/fit-comparison-in- ...
- matlab 投影法,梯度投影法 MATLAB程序可执行
<梯度投影法 MATLAB程序可执行>由会员分享,可在线阅读,更多相关<梯度投影法 MATLAB程序可执行(10页珍藏版)>请在人人文库网上搜索. 1.function x,m ...
- 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 下载次 ...
- (转载)基于TDOA声源定位算法仿真–MATLAB仿真
(转载)基于TDOA声源定位算法仿真–MATLAB仿真 转载自:https://blog.xxcxw.cn/archives/28 声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUS ...
- matlab立体坐标定位_【半导光电】基于光电探测器的激光章动定位算法(二)
今日光电 有人说,20世纪是电的世纪,21世纪是光的世纪:知光解电,再小的个体都可以被赋能.欢迎来到今日光电! ----与智者为伍 为创新赋能---- 1. 章动定位算法实验前,首先需要 ...
- matlab 声源定位csdn_[转]基于TDOA声源定位算法仿真--MATLAB仿真
声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位. 常用的阵列信号定位算法主要有三大类:基于高分辨率谱估计的定位技术 ...
- 基于TDOA声源定位算法仿真–MATLAB仿真
评论或私信 5元获取解压码 声源定位算法是利用麦克风阵列进行声音定位,属于宽带信号,传统的MUSIC和DOA算法并不适用该场景,本仿真主要用TDOA算法进行定位. 常用的阵列信号定位算法主要有三大类: ...
- 基于RSSI定位算法的matlab仿真
up目录 一.理论基础 二.核心程序 三.测试结果 一.理论基础 Received Signal Strength Indication接收的信号强度指示,无线发送层的可选部分,用来判定链接质量,以及 ...
- 【WSN定位】基于加权双曲线的Dvhop定位算法【Matlab代码#16】
文章目录 [`获取资源`请见文章第6节:资源获取] 1. 原始Dvhop定位 2. 基于双曲线的Dvhop定位 3. 对原始模型加权 4. 部分代码 5. 结果展示 6. 资源获取 7. 参考文献 [ ...
最新文章
- 1105 Spiral Matrix 给定数组向螺旋矩阵中填入数据
- 跨境电子商务B2B出口新政简析
- E0144	const char * 类型的值不能用于初始化 char * 类型的实体
- z = x++ - --y * b/a;
- python 库整理:Timm(1)
- MySQL中实现分组排序
- wxWidgets:wxRegKey类用法
- C学习杂记(二)笔试题:不使用任何中间变量如何将a、b的值进行交换
- 软件测试之黑盒测试-等价类划分法
- 蚂蚁森林上线三周年,5亿人“手机种树”1.22亿棵...
- 微课|中学生可以这样学Python(2.2.4节):逻辑运算符
- Genaro Network厚积薄发,开创区块链3.0新时代
- java 生成树形_Java实现生成Excel树形表头完整代码示例
- 【转载】NP完全问题——最小曼哈顿网络
- WorldView卫星遥感影像数据/米级分辨率遥感影像
- java实现屏幕自动截屏_使用Java实现静默屏幕截图
- OCO-2叶绿素荧光下载链接
- 安卓屏幕坏了怎么把资料拷出来_选择苹果还是安卓呢?(老安卓转苹果11用户体验)...
- Twitter开发者账号【推特开发者文档系列10】——API参考索引
- 计蒜客 T1817 分解质因数(数论)