LEACH算法仿真结果
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
仿真一:在100*100的区域内随机生成100个节点
(matlab仿真代码: clear;
xm=100;%x轴范围
ym=100;%y轴范围
sink.x=0.5*xm;%基站x轴 50
sink.y=0.5*ym;%基站y轴 50
n=100;
E0=0.02;
for i=1:1:n
S(i).xd=rand(1,1)*xm;
S(i).yd=rand(1,1)*ym;
S(i).G=0;%每一周期结束此变量为0
S(i).E=E0;%设置初始能量为E0
S(i).type='N';%节点类型为普通
plot(S(i).xd,S(i).yd,'o');
hold on;
end
%设置SINK节点的坐标
S(n+1).xd=sink.x;
S(n+1).yd=sink.y;
plot(S(n+1).xd,S(n+1).yd,'*');%绘制基站节点仿真结果图片:(‘O’代表随机散布的节点,‘*’代表SINK节点)
仿真二:LEACH 分簇效果图(matlab 代码见附件)
仿真结果:(p=0.1) 1、簇头个数14.
0102030405060708090100
2、簇头个数:11
3、簇头个数:12
0102030405060708090100
4、簇头个数:10
10
20
30
40
50
60
70
80
90
100
(p=0.05) 1、簇头=6
10
20
30
40
50
60
70
80
90
100
2、簇头=7
3、簇头=12
4、簇头=8
10
20
30
40
50
60
70
80
90
100
5
、
010203040
5060708090
100
102030405060708090100x
y
LEACH 分簇算法成簇效果图
仿真三:LEACH 分簇算法第一个节点死亡的轮数
10
20
30
40
50
60
70
80
90
100
0102030405060708090
100
10
20
30
40
50
60
70
80
90
100
0102030405060708090100
第一死亡节点出现的分布及轮数
x
y
0102030405060708090100x
y
经过matlab 仿真,LEACH 分簇算法在第一个节点死亡时,已经运行的轮数分别为: 122、143、125、149、122、72.
仿真四:20%的节点死亡时分布及轮数
1、
y
x 2、
y
x
y
0102030405060708090100
x
轮数:196、207、205、181.