xxxx18一60岁hd中国/日韩女同互慰一区二区/西西人体扒开双腿无遮挡/日韩欧美黄色一级片 - 色护士精品影院www

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

資源簡介

LEACH (Low2Energy Adaptive ClusteringHierarchy)算法是由MIT的Heinzelman等人提出的一種低功耗自適應(yīng)分簇算法。其基本思想是以循環(huán)的方式隨機選擇簇頭節(jié)點,將整個網(wǎng)絡(luò)的能量負載均勻分配到網(wǎng)絡(luò)中的每個傳感器節(jié)點,從而達到降低網(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ù)包長度
ctrPacketLength?=?100;%控制包長度
%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;%簇頭個數(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?一個距離的計算根據(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;%坐標x,rand(11)產(chǎn)生一個0,1之間的隨機數(shù)
????XR(i)=S(i).xd;
????S(i).yd=rand*ym;
????YR(i)=S(i).yd;
????S(i).CH=0;?%初始化的時候,沒有簇頭產(chǎn)生的個數(shù)集合
????S(i).type=‘N‘;%普通節(jié)點
????S(i).E=Eo;?%每個節(jié)點的能量保持為0.5
end
figure(1)
for?i=1:1:n
plot(XRYR‘b*‘);
?end
?hold?on;
BS_X=sink.x;?%基站位置x坐標
BS_Y=sink.y;?%基站位置y坐標
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é)點總共剩余能量
????end
????EAOLD(r+1)=ENOLD(r+1)/n;%每輪節(jié)點平均剩余能量
????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é)點全部死亡退出循環(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;%記錄第一個節(jié)點死亡的輪數(shù)
????????????flag_first_dead_old=1;%死亡標志位
????????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é)點坐標
????????????????Y(j)=S(i).yd;
????????????????countCHs?=j;
????????????????j=j+1;
???????????else
??????????????S(i).

評論

共有 條評論