wsn定位蒙特卡洛方法mcl的matlab

clear;clc;%初始化工作Ns = 20;Nn = 200;Vmax = 20;Xrange = 200;Yrange = 200;tr = 50;step = 20;N = 20;Nf = 3; %采样盒子确定时,估计位置要扩大圆面积ns_range = 200; %每个采样盒子的最大采样次数for i = 1:NsXseed(1,i)=rand(1,1)*Xrange;Yseed(1,i)=rand(1,1)*Yrange;endfor i = 1:NnXnode(1,i)=rand(1,1)*Xrange;Ynode(1,i)=rand(1,1)*Yrange;Xnode_g(1,i)=Xnode(1,i); %MCL 估计位置,初始值设置为真实位置Ynode_g(1,i)=Ynode(1,i);end%初始时刻的粒子群,for every nodefor i = 1:Nnfor j = 1:Nlx(i,j,1) = Xnode_g(1,i);ly(i,j,1) = Ynode_g(1,i);endend%figure(1);%plot(Xseed,Yseed, bo ,Xnode,Ynode, k* );%节点们开始运动,每次定位完成才开始下一次运动,这里假设这个定位过程耗时非常短%仿真步数for k=2:step%新的时刻,节点们先运动一下,RWP 模型for i = 1:Nsr = rand(1,1)*Vmax;thita = rand(1,1)*2*pi;Xseed(k,i) = Xseed(k-1,i) + r*cos(thita);if Ynode(k,i) > Yrange || Ynode(k,i) tr endendif sum(and)~=0lx(i,j,k) = 0;ly(i,j,k) = 0;endend%至此 节点 i 的粒子群已经得到%下面是进行定位,粒子群的优化num_zero = 0;for j = 1:Nif lx(i,j,k) == 0num_zero = num_zero+1;endend%k 时刻的定位位置if num_zero == NXnode_g(k,i) = Xnode_g(k-1,i);Ynode_g(k,i) = Ynode_g(k-1,i);endif num_zero ~= NXnode_g(k,i) = sum(lx(i,:,k))/(N-num_zero);Ynode_g(k,i) = sum(ly(i,:,k))/(N-num_zero);end%粒子群补全 N 个if num_zero == Nfor j = 1:Nlx(i,j,k) = 0;ly(i,j,k) = 0;endendif num_zero ~= Nfor j = 1:Nif lx(i,j,k) == 0lx(i,j,k) = Xnode_g(k,i);ly(i,j,k) = Ynode_g(k,i);endendendend%第三种情况 if temp1==0 sambox2 = [ Xnode_g(k-1,i)+Nf*Vmax];sambox3 = [ Ynode_g(k-1,i)-Nf*Vmax];sambox4 = [ Ynode_g(k-1,i)+Nf*Vmax];Xsambox_min(i,j,k) = max(sambox1);Xsambox_max(i,j,k) = min(sambox2);Ysambox_min(i,j,k) = max(sambox3);Ysambox_max(i,j,k) = min(sambox4);and = [and 0];elseand = [and 1];endendns = ns+1;end%进行最终的判断and = [];for m = 1:temp2d1(m) = sqrt((lx(i,j,k)-Xseed(k,A2(m)))^2+(ly(i,j,k)-Yseed(k,A2(m)))^2);if d1(m)>tr

matlab mcl,wsn定位蒙特卡洛方法mcl的matlab相关推荐

  1. wsn定位matlab仿真,WSN定位蒙特卡洛方法MCL的MATLAB实现源码

    WSN定位蒙特卡洛方法MCL的MATLAB实现源码 clear; clc; %初始化工作 Ns = 20; Nn = 200; Vmax = 20; Xrange = 200; Yrange = 20 ...

  2. 【WSN定位】基于matlab磷虾群算法求解WSN定位优化问题【含Matlab源码 448期】

    ⛄一. 磷虾群算法简介 通过研究南极磷虾觅食和生活习性的仿真模拟实验, 2012年Gandomi和Alavi提出了一种处理复杂优化问题的磷虾群算法.KH算法仍然属于粒子智能算法, 它采用实数编码随机产 ...

  3. 基于matlab的车牌定位算法设计与实现,matlab车牌定位系统设计(源码+文档)

    [实例简介]关于matlab进行数字图像处理实现车牌定位 [实例截图] [源码目录] 车牌定位系统设计 ├── 20200526_235029.mp4 ├── chepai.jpg ├── chepa ...

  4. matlab求重心几种方法,怎么用matlab找图像的重心

    用matlab找图像的重心可以参考以下的代码: I = imread('1.jpg'); I = rgb2gray(I); imshow(I); I = double(I); [rows,cols]  ...

  5. lle matlab 实例_数据降维方法LLE算法matlab代码

    LLE算法代码 % LLE ALGORITHM (using K nearest neighbors) % % [Y] = lle(X,K,dmax) % % X = data as D x N ma ...

  6. 圆度计算MATLAB,一种基于MATLAB的圆度评定方法

    摘要:圆度的评定和计算,实质上是根据圆度的定义构造函数模型.再进行函 数优化求解的过程.提出一种基于MATLAB 的圆度评定方法,利用MATLAB 优化工具箱,为采用最小区域圆法.最小二乘圆法.最小外 ...

  7. 机器人学习--基于3D激光雷达数据的MCL全局定位

    论文作者:Xieyuanli Chen, 陈谢沅澧,  导师德国弗雷堡大学的移动机器人大牛 Cyrill Stachniss 第一种方法: Range-MCL 大概方法:作者将3Dlidar扫描的36 ...

  8. 欧式期权matlab编码蒙特卡罗方法,基于MATLAB的金融工程方法与实践第七章 基于蒙特卡洛方法的期权定价.ppt...

    蒙特卡洛的优缺点 MCMC方法的优点 分布假设更一般,描述市场因素可能变化的统计分布既可以是正态.对数正态的,也可以是带跳的扩散分布.t分布等. 随机生成风险因素的各种各样的未来假想情景,可在模型中融 ...

  9. 2021-04-09 随机模拟—蒙特卡洛方法 Matlab代码实现

    随机模拟-蒙特卡洛方法 Matlab代码实现 蒙特卡洛方法 蒙特卡洛方法(Monte Carlo method),也称统计模拟方法,是二十世纪四十年代中期由于科学技术的发展和电子计算机的发明,而被提出 ...

最新文章

  1. JS实现的表单验证和强大的×××
  2. 使用sun.net.ftp.FtpClient进行上传功能开发,在jdk1.7上不适用问题的解决
  3. 51单片机除法c语言,求一个 89C51 简易计算器的c语言程序 只要加减乘除就行!
  4. 驱动层和r3程序通讯的列子参考爱写驱动的女装大佬
  5. (MoMoCMS教程11)页面的SEO优化与外链
  6. Eclipse中javascript文件 clg 变为console.log();
  7. Redis有几种数据类型?文末领取面试资料
  8. 集合框架之ArrayList集合
  9. python-unicode十进制数字转中文
  10. 0动态规划中等 LeetCode97. 交错字符串
  11. 【USB设备设计】--复合设备,双HID高速(64Byte 和 1024Byte)
  12. 公钥密码学 公钥基础设施_简单解释公钥密码学
  13. 甘思咪哚,肉骨茶,Greenland
  14. JAVA设计模式之访问者模式
  15. Java核心技术卷一笔记
  16. 从下载镜像到装系统(MSDN 和软碟通)
  17. SQL Server高级查询
  18. 链路聚合(动态捆绑链路)、负载均衡详解、全双工与半双工区别、LACP优先级详解(附图)
  19. linux 句柄类型,句柄问题分析
  20. 倍福--PLC扫描周期配置

热门文章

  1. 稿费一般多少钱一千字_为什么我在刊物发表文章会给稿费千字多少元不等,而网上却没有?...
  2. VS2022安装失败
  3. Excel转格式数字转人民币大写
  4. 无界——多元合作的发散思维
  5. 坐在宝座上圣洁羔羊(儿童诗班)
  6. cannot find method ‘value‘
  7. 铝碳化硅封装材料行业研究及十四五规划分析报告
  8. 熊猫直播助手服务器断开,熊猫直播发告别信正式关停服务器 总共运行1286天终于再见了...
  9. Mac邮件客户端怎么添加QQ邮箱
  10. java 素数 五行_c语言动态烟花小程序代码