• 大小: 3KB
    文件类型: .m
    金币: 1
    下载: 0 次
    发布日期: 2021-06-11
  • 语言: Matlab
  • 标签: virtual  forc  

资源简介

虚拟力算法是一种局部优化算法,广泛应用与各个领域。这是一个用matlab编写的虚拟力算法源代码。

资源截图

代码片段和文件信息

%% 无线传感器网络布局优化的粒子群导向虚拟力算法仿真程序
clc
clear
close all
%%
ZawFlag=[00000];%障碍物的启用设置,为0表示不启用
BorderLength=1000;%正方形区域的边界长度
DL=4;%离散化质点的间距,要求DL能够整除BorderLength
[SxSy]=InitSK(BorderLengthDLZawFlag);%调用子函数,产生正方形区域,并用离散化质点存储该区域
%%
% GreenSim团队原创作品,转载请注明
% Email:greensim@163.com
% GreenSim团队主页:http://blog.sina.com.cn/greensim
% 欢迎访问GreenSim——算法仿真团队→http://blog.sina.com.cn/greensim
rLower=70;%传感器节点覆盖半径取值范围的下界
rUpper=70;%传感器节点覆盖半径取值范围的上界
NodeNum0=50;%设置固定节点个数
[Cx0Cy0r0R0]=InitCovRand(NodeNum0rLowerrUpperZawFlagBorderLength);%调用子函数,产生固定节点
NodeNum1=50;%设置移动节点个数
[Cx1Cy1r1R1]=InitCovRand(NodeNum1rLowerrUpperZawFlagBorderLength);%调用子函数,产生移动节点
figure(1)
DrawCovering0(Cx0Cy0r0ZawFlagBorderLength);
title(‘初始化网络布局(固定节点)‘)
figure(2)
DrawCovering0(Cx0Cy0r0ZawFlagBorderLength);
hold on
DrawCovering1(Cx1Cy1r1ZawFlagBorderLength);
title(‘初始化网络布局(固定节点和可移动节点)‘)
%%
Cx=[Cx0Cx1];
Cy=[Cy0Cy1];
r=[r0r1];
R=[R0R1];
%如需人为指定个别节点的初始位置,请参考下面的语句进行设置(注意指定的坐标不要落入障碍物内)
%Cx(1)=400;Cy(1)=300;%人工指定标号为1的节点的坐标
Move=ones(1NodeNum0+NodeNum1);%节点移动控制参数,等于0表示节点不参与移动
Move(1:NodeNum0)=0;
M=200;%%迭代次数
CC=zeros(1M+1);%计算初始覆盖率
[CIfCovered]=CovRates(CxCyrSxSy);%计算初始覆盖率
CC(1)=C;
counter=2;
for i=1:M
    [CXCY]=Gravitation(CxCyrR0.2SxSyIfCovered);
    [CXCY]=D

评论

共有 条评论