WSN无线传感网络--网络连通率测试
实现语言:java
程序源码:https://github.com/kevinten10/Wireness-Network
(1)在不同节点数目n情况下,用Matlab拟合出连通率与通信半径的关系曲线。
(2)在不同通信半径R情况下,用Matlab拟合出连通率与节点数量n的关系曲线。
一、实验过程
(1)在不同节点数目下,判断连通率与通信半径的关系:
a. 在一个边长为1的正方形区域,随机撒N个节点,即通过rand函数随机生成节点X、Y轴坐标从而生成随机节点
b. 改变通信半径R,从0.01每次递增0.01直到达到1
c. 遍历生成的随机节点,根据sqrt函数求得两点间的距离r,判断r与R的大小关系;若r<R,则点联通;若r>R,则点不连通;
d. 根据随机节点的连通性判断来创建邻接矩阵p
e. 通过快速wars hell算法判断图连通性,求p,p^2,....直到p的n-1阶矩阵,将所有矩阵相加;若矩阵中存在0元素,则判断图不连通;反之,则判断图连通
f. 重复上述实验1000次,将图连通的次数与实验次数1000次相处,即得到了连通率
(2)在不同通信半径下,判断连通率与节点数目的关系:
a.在边长为1的正方形区域内,给定通信半径R;
b,改变节点数目N,从1每次递增1直到达到100;
c.根据节点数目N,通过rand(n,2,1)创建随机节点,矩阵第一列为节点X轴坐标,矩阵第二列为节点Y轴坐标;
d.遍历生成的随机节点,根据sqrt函数求得两点间的距离r,判断r与给定R的大小关系;若r<R,则点联通;若r>R,则点不连通;
e.根据随机节点的连通性判断来创建邻接矩阵p
f.通过快速wars hell算法判断图连通性,求p,p^2,....直到p的n-1阶矩阵,将所有矩阵相加;若矩阵中存在0元素,则判断图不连通;反之,则判断图连通
g.重复上述实验1000次,将图连通的次数与实验次数1000次相处,即得到了连通率
(3)流程图:
结果展示:
PS:Main类中进行参数设置,因为后期测试修改了,所以一下结果不够准确,但修改后可以展示准确结果