-
大小: 12KB文件類型: .rar金幣: 2下載: 1 次發(fā)布日期: 2023-01-27
- 語言: 其他
- 標(biāo)簽:
資源簡介
LEACH的改進(jìn)算法,LEACH-C,優(yōu)化網(wǎng)絡(luò)結(jié)構(gòu),節(jié)省網(wǎng)絡(luò)能量

代碼片段和文件信息
%?初始化設(shè)置?%%%%%%%%%%%%%%-initial?of?parameters-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clear;
%設(shè)定平面坐標(biāo)
?xm=200;
?ym=200;
%基站的縱橫坐標(biāo)
sink.x=0.5*xm;
sink.y=1.25*ym;
n=50;?%總的節(jié)點(diǎn)數(shù)
ncl=4;?%分區(qū)域的數(shù)目
m=5;%每個簇內(nèi)與基站通信節(jié)點(diǎn)的數(shù)目
%初始能量設(shè)置每一個節(jié)點(diǎn)的初始化能量
E0=0.5;
ET=E0-0.1;
%能量模型:單位焦耳;
%發(fā)送和接受數(shù)據(jù)的能量;
ETX=50*10^(-9);
ERX=50*10^(-9);
%放大器的兩個參數(shù)
Efs=10*10^(-12);
Emp=0.0013*10^(-12);
%融合數(shù)據(jù)所要消耗的能量
EDA=5*10^(-9);
packetsize=4000;%數(shù)據(jù)包的大小
ksize=100;%控制包大小
%能量損耗的界限值,大于它符合friss?free?space?model小于它則符合two-ray?ground?model
d0=sqrt(Efs/Emp);?%?d0=87;
%%%%%%%%%%%%%%-End?of?parameters-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%-產(chǎn)生隨機(jī)節(jié)點(diǎn)繪出圖形-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1);
for?i=1:1:n
????S(i).xd=rand(11)*xm;
????S(i).yd=rand(11)*ym;
????S(i).type=‘0‘;?%N節(jié)點(diǎn)一般節(jié)點(diǎn)
????%給初始節(jié)點(diǎn)能量賦值
????S(i).E=E0;
????S(i).energy=0;%初始節(jié)點(diǎn)消耗的能量;
????plot(S(i).xdS(i).yd‘o‘?‘MarkerEdgeColor‘‘k‘‘MarkerFaceColor‘‘g‘‘MarkerSize‘8);
????hold?on;
end
%繪出基站點(diǎn)坐標(biāo)
S(n+1).xd=sink.x;
S(n+1).yd=sink.y;
plot(S(n+1).xdS(n+1).yd‘X‘‘MarkerSize‘8);
%%%%%%%%%%%%%%-隨機(jī)節(jié)點(diǎn)產(chǎn)生完畢-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%
%?按區(qū)域劃分鏈,先分為幾個區(qū)域并找到這個區(qū)域內(nèi)的節(jié)點(diǎn)
line([0?xm][ym?ym]‘linestyle‘‘--‘‘color‘‘r‘)
for?j=1:1:ncl
?????cn=0;
???????j;
?????line([j/ncl*xm?j/ncl*xm][0?ym]‘linestyle‘‘--‘‘color‘‘r‘);
????for?i=1:1:n?
????????if?S(i).xd<=(j/ncl)*xm?&&S(i).xd?>(j-1)/ncl*xm
?????????????cn=cn+1;
?????????????S(i).cl=j;
?????????????S(i).clid=cn;
?????????????i;
????????end
????end
????cn;
????C(j).cn=cn;
end
%節(jié)點(diǎn)分配完畢
%根據(jù)大小縱坐標(biāo)成鏈,先進(jìn)行排序
for?j=1:1:ncl
????sid=1;
???while?sid<=C(j).cn
???????for?i=1:1:n
??????????if?S(i).cl==j?&&?S(i).clid==sid
????????????C(j).hid=i;
??????????end
???????end?
?????for?k=1:1:n
????????if?S(k).cl==j?&&?S(k).yd????????????temp.xd=S(C(j).hid).xd;
????????????temp.yd=S(C(j).hid).yd;
????????????S(C(j).hid).xd=S(k).xd;
????????????S(C(j).hid).yd=S(k).yd;
????????????S(k).xd=temp.xd;
????????????S(k).yd=temp.yd;
????????end
?????end
????sid=sid+1;
???end
end
%排序完成后按縱坐標(biāo)的順序排列,簇內(nèi)的排列順序與節(jié)點(diǎn)的縱坐標(biāo)有關(guān),按縱坐標(biāo)從大到小;
%把簇內(nèi)節(jié)點(diǎn)屬性按簇內(nèi)的順序賦值為一個數(shù)組H,操縱H來實(shí)現(xiàn)其它功能;
for?j=1:1:ncl
????t=1;
????while?t<=C(j).cn
???????for?i=1:1:n
???????????if?S(i).cl==j?&&S(i).clid==t
??????????????H(jt).cl=j;
??????????????H(jt).id=i;
??????????????H(jt).clid=S(i).clid;
??????????????H(jt).xd=S(i).xd;
??????????????H(jt).yd=S(i).yd;
??????????????H(jt).E=S(i).E;
??????????????H(jt).energy=S(i).energy;
???????????end
????????end
????t=t+1;
????end
end
%按節(jié)點(diǎn)在每個簇內(nèi)的順序進(jìn)行選擇父節(jié)點(diǎn)和子節(jié)點(diǎn);cid為子節(jié)點(diǎn),pid為父節(jié)點(diǎn),并定義節(jié)點(diǎn)類型;
for?j=1:1:ncl
????for?t=1:1:m
????????????T(jt)=t;
???end
end
for?j=1:1:ncl
????H(jn+1).xd=sink.x;
????H(jn+1).yd=sink.y;
????for?t=1:1:C(j).cn
????????if?t==1
????????????H(jt).pid=n+1;
????????????H(jt).cid=T(jt+1);
????????????H(jt).type=‘H‘;
????????????sb=1;
????????elseif?t ????????????H(jt).pid=T(jt-1);
????????????
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件??????22393??2009-01-28?01:15??work\byang.m
?????文件?????????87??2009-01-27?16:42??work\distance.m
?????文件???????6096??2009-02-05?16:04??work\qie.m
?????文件???????5814??2009-01-27?23:58??work\qie2.m
?????文件???????5808??2009-01-28?01:32??work\qie3.m
?????文件???????5903??2009-02-02?22:04??work\qqie.m
?????文件???????6096??2009-02-04?20:12??work\qie.asv
?????目錄??????????0??2009-02-28?20:17??work
-----------?---------??----------?-----??----
????????????????52197????????????????????8
- 上一篇:傳智黑馬UI整套課程
- 下一篇:TM1650手冊
評論
共有 條評論