资讯详情

【优化选址】基于虚拟力算法求解无线网络传感覆盖优化问题Matlab代码

1 简介

本发明提供了一种基于虚拟力算法的无线传感器网络覆盖优化方法,包括以下步骤:1。设置无线传感器网络的监测区域范围和传感器的探测距离;2。监测区域内的无线传感器;3。确定无线传感器节点的坐标值,计算节点之间的距离,并存储到节点坐标矩阵中;4。计算每个节点的力;5,判断节点运动是否符合约束条件:以当前节点坐标矩阵作为节点位置数据输出;否则进入下一步;判断节点位置与监测区域范围之间的距离是否超过距离阈值:如果不超过,节点应力后正常移动,返回步骤3;如果超过,节点停止向监测区域的边界方向移动,并反弹第二距离阈值,然后返回步骤3。本发明还涉及无线传感网覆盖优化系统.

2 部分代码

clear all

clc

load('xp.mat');

[kp,L]=size(xp);

N=40;%传感器节点个数

XMAX=900;%区域总长度

XMIN=100;

YMAX=800;%区域总宽度

YMIN=100;%区域总宽度

figure,

for j=1:kp

x=xp{j,1};

%figure,

subplot(2,3,j)

xm=[XMIN YMIN;XMIN YMAX;XMAX YMAX;XMAX YMIN];

fill(xm(:,1),xm(:,2),[0.8,0.8,0.8]);

hold on

plot(x(:,1),x(:,2),'r.','linewidth',5);

r=90; 感知半径%传感器节点

w=0:pi/50:2*pi;

for i=1:N

x1=x(i,1) r*cos(w);

y1=x(i,2) r*sin(w);

hold on

plot(x1,y1,'b');

text(x(i,1) 3,x(i,2),['\fontsize{8}\rm',num2str(i)]);

hold on

fill(x1,y1,'b')

end

axis([0 1000 0 900]);

xlabel('X/m');ylabel('Y/m');

%legend传感器节点('',\fontsize{12}\bf',num2str(N),'\fontsize{10}\rm个位置, 传感器节点的感知范围;

hold on

plot([XMIN XMAX],[YMIN YMIN],'k','linewidth',1.5);

hold on

plot([XMIN XMIN],[YMIN YMAX],'k','linewidth',1.5);

hold on

plot([XMAX XMAX],[YMIN YMAX],'k','linewidth',1.5);

hold on

plot([XMIN XMAX],[YMAX YMAX],'k','linewidth',1.5);

end

画覆盖率曲线图----------------------------

load('q.mat');

subplot(2,3,6)

%plot(1:length(q),q(1)r','markerfacecolor','r','linewidth',1);

plot(1:length(q),q(1)r','linewidth',2);

grid on

xlabel(迭代次数);ylabel(网络覆盖率);

grid on

xlabel('迭代次数');ylabel(网络覆盖率);

set(gca,'xTick',[1:round(length(q)/10):length(q)])

axis([1 length(q) min(q)-0.05 1.005]);

3 仿真结果

4 参考文献

[1]王晓萍, 周文, 徐立升, 张日飞, 蒋秀波, & 宋早迪等. 基于虚拟力算法的无线传感网覆盖优化方法和系统.

如些理论引用网络文献,如有侵权联系博主删除。

5 完整MATLAB代码和数据下载地址

标签: 传感器网络中基于k

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台