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

  • 大小: 23KB
    文件類型: .m
    金幣: 1
    下載: 1 次
    發(fā)布日期: 2021-05-07
  • 語言: Matlab
  • 標簽: wsn分簇??

資源簡介

wsn分簇協(xié)議leach和deec的仿真代碼,使用matlab編寫,很詳細,適合初學者仿真使用。

資源截圖

代碼片段和文件信息

clear??
%1.初始參數(shù)設定模塊??
%.傳感器節(jié)點區(qū)域界限(單位?M)??
xm=200;??
ym=200;??
%(1)匯聚節(jié)坐標給定??
sink.x=0.5*xm;??
sink.y=0.5*ym;??
%區(qū)域內(nèi)傳器節(jié)數(shù)??
n=100??
%簇頭優(yōu)化比例(當選簇頭的概率)??
p=0.05;??
P=0.05;??
%能量模型(單位?焦)??
%初始化能量模型??
Eo=0.5;??
%Eelec=Etx=Erx??
ETX=50*0.000000001;??
ERX=50*0.000000001;??
%Transmit?Amplifier?types??
Efs=10*0.000000000001;??
Emp=0.0013*0.000000000001;??
%Data?Aggregation?Energy??
EDA=5*0.000000001;??
%高能量節(jié)點超出一節(jié)點能量的百分比??
a=1;??
%最大循環(huán)次數(shù)??
rmax=5000??
%算出參數(shù)?do??
do=sqrt(Efs/Emp);??
Et=0;??
%2.無線傳感器網(wǎng)絡模型產(chǎn)生模塊??
%構建無線傳感器網(wǎng)絡在區(qū)域內(nèi)均勻投放100個節(jié)點并畫出圖形??
for?i=1:1:n??
????S1(i).xd=rand(11)*xm;??
????S2(i).xd=S1(i).xd;??
????S3(i).xd=S1(i).xd;??
????S4(i).xd=S3(i).xd;??
????XR4(i)=S4(i).xd;??
????XR3(i)=S3(i).xd;??
????XR2(i)=S2(i).xd;??
????XR1(i)=S1(i).xd;??
????S1(i).yd=rand(11)*ym;??
????S2(i).yd=S1(i).yd;??
????S3(i).yd=S1(i).yd;??
????S4(i).yd=S3(i).yd;??
????YR4(i)=S4(i).yd;??
????S4(i).G=0;??
????YR3(i)=S3(i).yd;??
????S3(i).G=0;??
????YR2(i)=S2(i).yd;??
????YR1(i)=S1(i).yd;??
????S1(i).G=0;??
????S2(i).G=0;??
????S1(i).E=Eo*(1+rand*a);??
????S2(i).E=S1(i).E;??
????S3(i).E=S1(i).E;??
????S4(i).E=S3(i).E;??
????E3(i)=?S3(i).E;??
????E4(i)=?S4(i).E;??
????Et=Et+E3(i);??
??
????%initially?there?are?no?cluster?heads?only?nodes??
????S1(i).type=‘N‘;??
????S2(i).type=‘N‘;??
????S3(i).type=‘N‘;??
????S4(i).type=‘N‘;??
end??
??
S1(n+1).xd=sink.x;??
S1(n+1).yd=sink.y;??
S2(n+1).xd=sink.x;??
S2(n+1).yd=sink.y;??
%3.網(wǎng)絡運行模塊??
%簇頭節(jié)點數(shù)??
countCHs1=0;??
cluster1=1;%此定義的目的僅僅是給定一個1開始的下標參數(shù),真正的簇頭數(shù)應該還減去1??
flag_first_dead1=0;??
flag_teenth_dead1=0;??
flag_all_dead1=0;??
%死亡節(jié)點數(shù)??
dead1=0;??
first_dead1=0;??
teenth_dead1=0;??
all_dead1=0;??
%活動節(jié)點數(shù)??
allive1=n;??
%counter?for?bit?transmitted?to?bases?Station?and?to?Cluster?Heads??
packets_TO_BS1=0;??
packets_TO_CH1=0;??
%(1)循環(huán)模式設定??
for?r=0:1:rmax?????%該?for?循環(huán)將下面的所有程序包括在內(nèi),直到最后一?end?才結束循環(huán)??
????r??
??%每過一個輪轉周期(本程序為10次)使各節(jié)點的S(i).G參數(shù)(該參數(shù)用于后面的簇選舉,在該輪轉周期內(nèi)已當選過簇頭的節(jié)點不能再當選)恢復為零??
??if(mod(r?round(1/p)?)==0)??
????for?i=1:1:n??
????????S1(i).G=0;??
????????S1(i).cl=0;??
????end??
??end??
%(2)死亡節(jié)點檢查模塊??
dead1=0;??
for?i=1:1:n??
????%檢查有無死亡節(jié)點??
????if?(S1(i).E<=0)??
????????dead1=dead1+1;???
????????%(3)第一個死亡節(jié)點的產(chǎn)生時間(用輪次表示)??
????????%第一個節(jié)點死亡時間??
????????if?(dead1==1)??
???????????if(flag_first_dead1==0)??
??????????????first_dead1=r;??
??????????????flag_first_dead1=1;??
???????????end??
????????end??
????????%10%的節(jié)點死亡時間??
????????if(dead1==0.1*n)??
???????????if(flag_teenth_dead1==0)??
??????????????teenth_dead1=r;??
??????????????flag_teenth_dead1=1;??
???????????end??
????????end??
????????if(dead1==n)??
???????????if(flag_all_dead1==0)??
??????????????all_dead1=r;??
??????????????flag_all_dead1=1;??
???????????end??
????????end??
????end??
????if?S1(i).E>0??
????????S1(i).type=‘N‘;??
????end??
end??
STATISTICS.DEAD1(r+1)=dead1;??
STATISTICS.ALLIVE1(r+1)=allive1-dead1;??
%(4)簇頭選舉模塊??
countCHs1=0;??
cluster1=1;

評論

共有 條評論

相關資源