仿真一:在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节点)
100
. CJ ■-1H I L IL L L L
* Q-O
90 L r-.门 c ° 0』亠1
E 小■-
80 —0 Q
C O Q
70 1”o o o Q
C0°C Q
60 O J」u「一
A o
50 -? *o
O o □oo o
40 —0 o
o O
30
O c
cP c 」。° % 0
20 = c C |
2 7 C
o o c W
10
Q
_ v? O
0 Q n
0 i J
. Q
n L f r i f r r
0 10 20 30 40 50 60 70 80 90 100
仿真二:LEACH分簇效果图(matlab代码见附件)
仿真结果:(p=0.1)
1、簇头个数14.
100
90
5I c
tJ
_ o
E £L
*
1 L1
(g
80 K J*Q
Q o
70 一
o
-
60 -辛-
50 -如宀七—
**0 Q r-h.
40 一土
7 o一
30 ”
?=t=-
■o o
20 --
*
10 k-/-1
r J i r r 1 t〕1! 一r
0 10 20 30 40 50 60 70 80 90 100
100 2、簇头个数:11
3、簇头个数:12
100
厂 1
I [
1
L.1 II
r c
奋L
90 -
卡
Q
- 80
■
*
却
o
■
70 「
4
o
Q
Q
O 1
60 po
+ o
Q
0 O
Q
O
50
■
40 -
Q
0 Q QJ|
O Q
-
Q
+- 30 -
-
o
o
i 內 c
o ◎
o
20
l' w
Q
10 一
_ j
-
c
0 ■ ( L i
(
JLj r
r t L
10 20
30
40
50
60 70 80 90 100
4、簇头个数:10
100
£ L ■ L O
*
O
o
I Q I
c
O
- *
*
o
J 0"
皓 + jg
o o l;.
°
5
Q Q
*
4=-
c O
「■
■
-
-
* r ?
,-X
f )
r~j
%
Q
O
J
i
『
1
LJT
r L
f L
100
90
80 70 60 50
40 30 20 10
10 20 30 40
50
60
70
80
90
(p=0.05) 1、簇头=6
100 90 80 70 60 50 40 30 20 10
2、簇头=7
L.
1
七
L B 1 1
*
l
L L
-
-
o o
*
fj
f
tzj
C
0Q
*
—
*
)°如
-■
-
*
一
* o cP
!. i
ex
-
t
r r I r
r r r
r 90 80 70 60
50 40
30 20 10
10 20 30 40 50
60 70
80
90
100
10 20 30 40 50 60 70 80 90 100
100
06 08 0Z 09 09 01
7
O
S
O
S
O
L
4-
O
L
O
S
O
S
01
7
09
09
O
Z
08
06 00 L 06 08 OZ 09 09 017 OS 0 乙OL 0
10
20
30
40
50
60
70 80
90
100
x
LEACH
分簇算法成簇效果图 100 — __ Q
2 Q
90
一
fj
__
fj-
簇头~^宰
80 — 普通节点一尸 O 话
70 —
G + 苇广
Q X )
Q
O
Q
O
o
c
W-
o 60
Q
辛 0-
o
y
50 —
SINK 节点—>七
> *
40 P
o
O
30
C51
f °。 0
。一
0 o
20 10
*
?
0 o
O °
f 1
r-s_
ji
r
r r r P 『 r r r