91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 12KB
    文件類型: .m
    金幣: 1
    下載: 0 次
    發(fā)布日期: 2021-05-10
  • 語(yǔ)言: Matlab
  • 標(biāo)簽: leach??

資源簡(jiǎn)介

LEACH (Low2Energy Adaptive ClusteringHierarchy)算法是由MIT的Heinzelman等人提出的一種低功耗自適應(yīng)分簇算法。其基本思想是以循環(huán)的方式隨機(jī)選擇簇頭節(jié)點(diǎn),將整個(gè)網(wǎng)絡(luò)的能量負(fù)載均勻分配到網(wǎng)絡(luò)中的每個(gè)傳感器節(jié)點(diǎn),從而達(dá)到降低網(wǎng)絡(luò)能耗,提高網(wǎng)絡(luò)生存周期的目的。

資源截圖

代碼片段和文件信息

clear;
%?profile?clear;
%?profile?on;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%?PARAMETERS?%%%%%%%%%%%%%%%%%%%%%%%%%%%%
w=8;
%Field?Dimensions?-?x?and?y?maximum?(in?meters)
xm?=?200;
ym?=?200;
?maxBroad=sqrt(xm*xm+ym*ym)/4;
packetLength?=?4000;%數(shù)據(jù)包長(zhǎng)度
ctrPacketLength?=?100;%控制包長(zhǎng)度
%Initial?Energy
Eo?=?0.5;
%x?and?y?Coordinates?of?the?Sink
sink.x?=100;
sink.y?=250;
%Number?of?Nodes?in?the?field
n=50*w;
%Optimal?Election?Probability?of?a?node
%to?become?cluster?head
T=0.1;
c3=0.1;
%R_c=(1-c*((d_max-d(s_iDS))/(d_max-d_min)))*R_c0;
R_c_0=90;
countCHs=0;%簇頭個(gè)數(shù)
%Eelec=Etx=Erx
ETX=50*0.000000001;
ERX=50*0.000000001;
%Transmit?Amplifier?types
Efs=10*0.000000000001;
Emp=0.0013*0.000000000001;
EDA=5*0.000000001;%Data?Aggregation?Energy
%Computation?of?do?一個(gè)距離的計(jì)算根據(jù)能量公式參考wendi的phd論文
do=sqrt(Efs/Emp);
%rcountCHs=rcountCHs+countCHs;
rmax=1000;
TD_MAX=140;
%%%%%%%%%%%%%%%%%%%%%%%%%?END?OF?PARAMETERS?%%%%%%%%%%%%%%%%%%%%%%%%
%Creation?of?the?random?Sensor?Network
%figure(1);
for?i=1:1:n
????S(i).xd=rand*xm;%坐標(biāo)x,rand(11)產(chǎn)生一個(gè)0,1之間的隨機(jī)數(shù)
????XR(i)=S(i).xd;
????S(i).yd=rand*ym;
????YR(i)=S(i).yd;
????S(i).CH=0;?%初始化的時(shí)候,沒有簇頭產(chǎn)生的個(gè)數(shù)集合
????S(i).type=‘N‘;%普通節(jié)點(diǎn)
????S(i).E=Eo;?%每個(gè)節(jié)點(diǎn)的能量保持為0.5
end
figure(1)
for?i=1:1:n
plot(XRYR‘b*‘);
?end
?hold?on;
BS_X=sink.x;?%基站位置x坐標(biāo)
BS_Y=sink.y;?%基站位置y坐標(biāo)
plot(BS_XBS_Y‘g*‘);
hold?on;
flag_first_dead_old=0;%
flag_first_dead=0;
dead_old=0;
for?r=0:1:rmax?%主循環(huán)每次1輪
????r
????ENOLD(r+1)=0;
????for?i=1:1:n;
????????ENOLD(r+1)=S(i).E+ENOLD(r+1);%每輪節(jié)點(diǎn)總共剩余能量
????end
????EAOLD(r+1)=ENOLD(r+1)/n;%每輪節(jié)點(diǎn)平均剩余能量
????hold?off;
????dead_old=0;
????for?i=1:1:n
????????%checking?if?there?is?a?dead?node
????????if?(S(i).E<=0)
????????????dead_old=dead_old+1;
????????end
????????if?S(i).E>0
????????????S(i).type=‘N‘;
????????end
????end
%?????if?(dead_old?==?n)%節(jié)點(diǎn)全部死亡退出循環(huán)
%???????break;
%?????end
????DEAD(r+1)=dead_old;
????ALIVE(r+1)=n-dead_old;
????STATISTICSOLD(r+1).DEAD=dead_old;
%?????DEADOLD(r+1)=dead_old;
%?????DEAD_N(r+1)=dead_n;
%?????DEAD_A(r+1)=dead_a;
%?????When?the?first?node?dies
????if?(dead_old==1)
????????if(flag_first_dead_old==0)
????????????first_dead_old=r;%記錄第一個(gè)節(jié)點(diǎn)死亡的輪數(shù)
????????????flag_first_dead_old=1;%死亡標(biāo)志位
????????end
????end
????%countCHs=0;
????j=1;
????for?i=1:1:n
???????if(S(i).E>0)
??????temp_rand=rand;????
????????%Election?of?Cluster?Heads
??????????if(?temp_rand?<=T);
????????????????distance=sqrt(?(S(i).xd-BS_X?)^2?+?(S(i).yd-BS_Y?)^2?);%到sink的距離
????????????????S(i).type?=?‘C‘;%備選簇頭
????????????????%S(i).mode?=1;%“1“表示備選簇頭為活躍狀態(tài)
????????????????C(j).xd?=?S(i).xd;
????????????????C(j).yd?=?S(i).yd;
????????????????C(j).type?=?S(i).type?;
????????????????C(j).distance?=?distance;
????????????????d(j)=?distance;
????????????????C(j).E=S(i).E;
????????????????C(j).id?=i;
????????????????X(j)=S(i).xd;%保存節(jié)點(diǎn)坐標(biāo)
????????????????Y(j)=S(i).yd;
????????????????countCHs?=j;
????????????????j=j+1;
???????????else
??????????????S(i).

評(píng)論

共有 條評(píng)論