重庆渝云建设有限公司官方网站,建设部考试中心网站,简述建设企业网站可信度的具体策略,网站发帖推广平台目录
#x1f4a5;1 概述
#x1f4da;2 运行结果
#x1f389;3 参考文献
#x1f468;#x1f4bb;4 Matlab代码 #x1f4a5;1 概述
无线传感器网络是不断发展的传感技术之一#xff0c;也用于执行不同的任务。这些类型的网络在许多领域都是有益的#xff0c… 目录
1 概述
2 运行结果
3 参考文献
4 Matlab代码 1 概述
无线传感器网络是不断发展的传感技术之一也用于执行不同的任务。这些类型的网络在许多领域都是有益的例如紧急情况健康监测环境控制军事工业并且由于无线电范围这些网络容易受到恶意用户和物理攻击。 2 运行结果 主函数部分代码
% Clean memory and command window
clear,clc,close all
%% Parameters
N 100; % Number of nodes
W 200; % length of the network
L 200; % width of the network
Ei 2; % Initial energy of each node (joules)
CHpl 3000; % Packet size for cluster head per round (bits)
p 5/100; % desired percentage of cluster heads
R 50; % Range for cluster
pMin 10^-4; % Lowest possible CH_prop
num_rounds 2000; % Max Number of simulated rounds
NonCHpl 200; % Packet size for normal node per round (bits)
Tsetup 4; % average Time in seconds taken in setup phase
Tss 10; % average Time in seconds taken in steady state phase
Etrans 1.0000e-05; % Energy for transmitting one bit
Erec 1.0000e-05; % Energy for receiving one bit
Eagg 1.0000e-07; % Data aggregation energy
Efs 0.3400e-9; % Energy of free space model amplifier
% Position of sink
SX W/2; SY L/2;
%% First Leach algorithm %%%%%%%%%%%%%%%%%%%%%%%%%%
% 1st row: states of being a CH, 1:never been CH, 0:has been CH
% 2nd: x-position, 3rd: y-position
net [ones(1,N);rand([1,N])*W;rand([1,N])*L];
% Preallocation for energy calculations
E Ei*ones(1,N); % Energy left in each node
EH zeros(1,num_rounds);
% Preallocation for dead nodes calculations
Ecrit 0; % Critical energy left in node to call it alive
Ncrit fix((95/100)*N); % Critical number for dead nodes to stop simulation
Dead false(1,N); % Status of all nodes 0:Alive 1:Dead
DeadH zeros(1,num_rounds);
% Preallocation for Bits sent calculations
BitsH zeros(1,num_rounds);
figure(Position,[34 30 792 613]);
% Simulating for each round
for r1:num_rounds % iterating on each round%%%% Choosing Clusters heads %%%%[net(1,:),CH] Leach_algo(net(1,:),Dead,p,r);tmp find(CH);for i1:Nif isempty(net(2,CH))else[~,aa]min(sqrt((net(2,CH) - net(2,i)).^2 (net(3,CH) - net(3,i)).^2));net(1,i) tmp(aa);endend%%%% Energy calculations %%%%EH(r) sum(E); %get all energy left in all nodes% first CHnumClust length(find(CH));D sqrt((net(2,CH) - SX).^2 (net(3,CH) - SY).^2);E(CH) E(CH) - (((EtransEagg)*CHpl)(Efs*CHpl*(D.^ 2))(NonCHpl*Erec*round(N/numClust)));% second rest of nodesrest N-numClust-sum(double(Dead));mD zeros(1,rest); tmp net(2:3,~CH~Dead);for i1:rest, mD(i) fun(tmp(1,i),tmp(2,i),net,CH,SX,SY); endE(~CH~Dead) E(~CH~Dead) - ((NonCHpl*Etrans) (Efs*CHpl*(mD.^2)) ((ErecEagg)*CHpl));%finally updating alive status to all nodesE(Dead) 0;Dead(EEcrit) true ; DeadH(r)sum(double(Dead));%%%% sent bits %%%%BitsH(r1) BitsH(r) numClust*CHpl rest*NonCHpl;%%%% Showing updated net %%%%net DrawNet(net,N,CH,Dead,SX,SY,1);title([Normal nodes:Black ---- CH:Red ---- Dead:Empty circle --- round (,num2str(r),)]);drawnowif DeadH(r)Ncrit,break;end % Stop simulation when 5% or less is alive
end
close all
T_L (TsetupTss)*(0:r-1);
EH EH(1:r); EHdis_L (N*Ei)-EH;
DeadH DeadH(1:r); AliveH_L N-DeadH;
BitsH_L BitsH(2:r1);
%% Second HEED algorithm %%%%%%%%%%%%%%%%%%%%%%%
% 1st row: Clustering indexing
% 2nd: x-position, 3rd: y-position
net [zeros(1,N);net(2:3,:)];
% calculating costs
cost zeros(1,N);
for i1:NDist sqrt(((net(2,:)-net(2,i)).^2) ((net(3,:)-net(3,i)).^2));Snbr Dist R;cost(i) sum(Dist(Snbr))/(sum(Snbr)-1);
end3 参考文献
[1]陆政. 基于改进蚁群算法的WSN路由研究[D].安徽理工大学,2018.
部分理论引用网络文献若有侵权联系博主删除。