【定位仿真】基于matlab RSSI三边定位仿真【含Matlab源码 1690期】
一、获取代码方式
获取代码方式1:
完整代码已上传我的资源:【定位仿真】基于matlab RSSI三边定位仿真【含Matlab源码 1690期】
获取代码方式2:
通过订阅紫极神光博客付费专栏,凭支付凭证,私信博主,可获得此代码。
备注:
订阅紫极神光博客付费专栏,仅只能免费获得1份代码;
二、简介
三、部分源代码
%信标节点位于等边三角形顶点的仿真
clc
clear all
%A,B,C为三个选定的信标节点,节点坐标已知(为便于防真及验证,代码中采用的等边三角形)
for t = 1:5A = [0,0];B = [5*t,5*t*sqrt(3)];C = [10*t,0];nums = [A(1),A(2),B(1),B(2),C(1),C(2)];p = min(nums);q = max(nums);L = sqrt((A(1)-C(1))^2+(A(2)-C(2))^2);m = 5;%生成在[p,q]上满足均匀分布的随机数矩阵%即生成一组m行2列的有可能落在等边三角形区域内的坐标numbox = p+(q-p)*rand(m,2);%计数初值,最终根据计算将随机生成的点中落在等边三角形区域内的坐标存放于新的矩阵n = 1;for i = 1:mdA(i) = sqrt((numbox(i,1)-A(1))^2+(numbox(i,2)-A(2))^2);dB(i) = sqrt((numbox(i,1)-B(1))^2+(numbox(i,2)-B(2))^2);dC(i) = sqrt((numbox(i,1)-C(1))^2+(numbox(i,2)-C(2))^2);%将确实在等边三角形区域内的坐标存入P_position矩阵if (dA(i)<=L) & (dB(i)<=L) & (dC(i)<=L)P_position(n,1) = numbox(i,1);P_position(n,2) = numbox(i,2);n = n+1;endend%N为随机生成的点中落在等边三角形区域内的点(测试点)的个数N = n-1if N == 0disp('所取的随机坐标无一落在等边三角形内,请增大m值重新运行程序.')returnend%计算测试点离三个顶点的实际距离%dis为N行3列的矩阵,用于存放N个测试点分别到等边三角形三个顶点A,B,C的实际距离for i = 1:Ndis(i,1) = sqrt((P_position(i,1)-A(1))^2+(P_position(i,2)-A(2))^2);dis(i,2) = sqrt((P_position(i,1)-B(1))^2+(P_position(i,2)-B(2))^2);dis(i,3) = sqrt((P_position(i,1)-C(1))^2+(P_position(i,2)-C(2))^2);end%根据函数Distance计算测试点离三个顶点的测试距离(考虑了衰减及环境误差等)%dis_test为N行3列的矩阵,用于存放N个测试点分别到等边三角形三个顶点A,B,C的测试距离a = 7; %由RSSI计算T-R距离时使用的参数for i = 1:Ndis_test(i,1) = Distance(dis(i,1),a);dis_test(i,2) = Distance(dis(i,2),a);dis_test(i,3) = Distance(dis(i,3),a);end%根据函数Triangle及求得的测试距离进行定位%P_calculate为N行2列的矩阵,用于存放定位后的N个坐标for i = 1:NP_temp = Triangle(A,B,C,dis_test(i,1),dis_test(i,2),dis_test(i,3));P_calculate(i,1) = P_temp(1);P_calculate(i,2) = P_temp(2);end%由于测试距离相比真实距离有误差,三角计算中的两圆有可能无交点,导致方程无实根.%于是P_calculate中会出现虚数.在测试中虚数无实际意义,因此取其实部存放于另一矩阵for i = 1:NP_calculate_real(i,1) = real(P_calculate(i,1));P_calculate_real(i,2) = real(P_calculate(i,2));end%对比测试点的定位坐标与实际坐标之间的误差P_position;P_calculate;P_calculate_real;%计算定位结果与真实坐标之间的距离误差平均值e_average(测试点等概率)e_sum = 0;for i = 1:Ne = sqrt((P_calculate_real(i,1)-P_position(i,1))^2+(P_calculate_real(i,2)-P_position(i,2))^2);e_sum = e_sum+e;ende_average = e_sum/N;e_average_percent = e_average/L;e_average_box(t) = e_averagee_average_percent_box(t) = e_average_percent
end
四、运行结果
五、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 门云阁.MATLAB物理计算与可视化[M].清华大学出版社,2013.
【定位仿真】基于matlab RSSI三边定位仿真【含Matlab源码 1690期】相关推荐
- 【Matlab生物电信号】生物电信号仿真【含GUI源码 684期】
一.代码运行视频(哔哩哔哩) [Matlab生物电信号]生物电信号仿真[含GUI源码 684期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]董兵,超于毅,李 ...
- 【Matlab通信】DTMF双音多频电话拨号仿真【含GUI源码 805期】
一.代码运行视频(哔哩哔哩) [Matlab通信]DTMF双音多频电话拨号仿真[含GUI源码 805期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅 ...
- 【Matlab语音分析】语音信号分析【含GUI源码 1718期】
一.代码运行视频(哔哩哔哩) [Matlab语音分析]语音信号分析[含GUI源码 1718期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆,张磊,郑铁 ...
- 【Matlab验证码识别】遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别【含GUI源码 1694期】
一.代码运行视频(哔哩哔哩) [Matlab验证码识别]遗传算法和最大熵优化+大津法(OTSU)+自定义阈值数字验证码识别[含GUI源码 1694期] 二.matlab版本及参考文献 1 matlab ...
- 【Matlab人脸识别】BP神经网络人脸识别(含识别率)【含GUI源码 891期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]BP神经网络人脸识别(含识别率)[含GUI源码 891期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] ...
- 【Matlab人脸识别】形态学教室人数统计(带面板)【含GUI源码 1703期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]形态学教室人数统计(带面板)[含GUI源码 1703期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟 ...
- 【Matlab人脸识别】人脸实时检测与跟踪【含GUI源码 673期】
一.代码运行视频(哔哩哔哩) [Matlab人脸识别]人脸实时检测与跟踪[含GUI源码 673期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]孟逸凡,柳益君 ...
- 【Matlab图像融合】小波变换遥感图像融合【含GUI源码 744期】
一.代码运行视频(哔哩哔哩) [Matlab图像融合]小波变换遥感图像融合[含GUI源码 744期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 包子阳,余 ...
- 【Matlab语音加密】语音信号加密解密(带面板)【含GUI源码 181期】
一.代码运行视频(哔哩哔哩) [Matlab语音加密]语音信号加密解密(带面板)[含GUI源码 181期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1]韩纪庆 ...
- 【Matlab身份证识别】身份证号码识别【含GUI源码 014期】
一.代码运行视频(哔哩哔哩) [Matlab身份证识别]身份证号码识别[含GUI源码 014期] 二.matlab版本及参考文献 1 matlab版本 2014a 2 参考文献 [1] 蔡利梅.MAT ...
最新文章
- 自学笔记——2.字符串的切片、遍历、查找字符
- ASP.NET_读写Cookie
- 使用loadrunner编写webservice接口请求
- 逻辑回归实现多分类任务(python+TensorFlow+mnist)
- 白鹭引擎写入文字图层方法实例
- filter wiz_Grid Wiz简介:只需一瞬间即可制作出具有自定义浏览器支持CSS网格框架。
- 落户北京经开区 小米汽车首车预计2024年下线并量产 网友:开始存钱!
- 第四课、Hello QT------------------狄泰软件学院
- matlab局部放大找交点,11.matlab找两条离散曲线的交点
- 当导入导出为同一个接口时,会产生什么样的“化学反应”?
- flutter 聊天界面+表情图片
- 360需要的,不是打工者——周鸿祎在360新员工入职培训上的讲话
- JumpServer开源堡垒机完成龙芯架构兼容性认证
- 南方科技大学计算机学院怎么样,南方科技大学和深圳大学,哪个实力更强?一起来看看吧!...
- python使用手册<5>函数
- 【管理篇 / 恢复】❀ 01. 恢复出厂设置 ❀ FortiGate 防火墙
- android创建文件夹、文件file读、写内容
- 智利推出全新加密货币和金融科技监管法案
- 如何在android手机项目中加入广告
- 2020 腾讯Techo Park - Flutter与大前端的革命
热门文章
- 《WF编程》系列之29 - 本地通信事件:HandleExternalEventActivity 活动生成器
- 省选专练之数学 BZOJ2820 YY的GCD
- 使用python调用shell判断当前进程是否存在
- 基于邻接表建图的几种方法
- Ubuntu下安装Chrome浏览器的方法
- 190125每日一句
- atitit 各个技术领域的top 200领域
- Atitit 软件设计中的各种图纸 uml 之道 1. 常见设计成果与图纸	1 1.1. ui原型图与html	1 1.2. 业务逻辑 伪代码 各种uml图	1 1.3. 业务逻辑 流程图 ns
- Atitit 信息链(Information Chain)的概念理解 attilax总结
- Atitit 数据库的事件机制--触发器与定时任务attilax总结