matlab节点连通率,利用MATLAB仿真节点个数和节点通信半径与网络连通率的关系
一、目的
①在不同节点个数的情况下,用Matlab拟合出连通率与通信半径的关系曲线。
②在不同节点通信半径的情况下,用Matlab拟合出连通率与节点个数的关系曲线。
二、方法描述
在1x1的单位矩形中随机部署传感器节点,而且假设每个节点的通信半径一样。在每一组节点个数和节点通信半径下进行1000次试验,进而分别模拟出连通率随节点数增加以及通信半径增加的变化趋势。
关键算法即判断节点网络是否具有连通性,算法流程图如下:
关键的程序设计在于找到与节点相连的节点的递归调用,通过不断的搜索邻接矩阵中的1,并在连通向量中标记已找到为连通的的点,最后通过计算连通向量的总和判断是否连通。之后通过改变节点个数k和通信半径r并嵌套以下实现1000次的连通判断计算连通率:
for cishu=1:1000p=rand(k,2);
c=Connect(p,r);
liantong=liantong+c;
end
liantonglv(i)=liantong/1000;
plot(r,liantonglv(i),‘b-*‘)
(1)在不同节点个数情况下,用Matlab拟合出连通率与通信半径r的关系曲线如下图:
在实验过程中,取通信半径r=0.5,节点个数k=50的网络拓扑图如下所示:
对于不同的节点个数及不同的网络规模下,随着通信半径的增加,网络连通率也在增加。但当通信半径增加到某个临近值时,网络连通率近似维持在100%。且随着节点个数的增加,临界通信半径减小。
(2)在不同通信半径R情况下,用Matlab拟合出连通率与节点数量n的关系曲线如下图:
在实验过程中,取通信半径r=0.35,节点个数k=30的网络拓扑图如下所示:
第4张图中当只有一个节点时,连通率为1,所以出现连通率曲线锐减的现象。具有不同节点通信半径的WSN,随着节点个数的增加,网络连通率也在增加。当节点个数增加到某个临界值时,网络连通率近似维持100%。且随着节点通信半径的增加,临界节点个数减小。
三、结论
①给定节点数目,概率上随机WSN保持连通的节点通信半径存在下限。
②给定节点的通信半径,概率上随机WSN保持连通的节点个数存在上限。
四、MATLAB程序代码
function [ C ] =Connect( graph,r )
adjmatrix=1.-im2bw(squareform(pdist(graph)),r); %生成邻接矩阵
len=size(adjmatrix,1);
quit=0;for n=1:lenif sum(adjmatrix(n,:))==1 %排除孤立点
quit=1;
end
end%判断连通性if quit~=1connected(len)=0; %已连接节点
connected(1)=1;
connected=findconnected(1,adjmatrix,connected);%找到与节点1连接的节点if sum(connected)==len
C=1;elseC=0;
endelseC=0;
End
function [connected]=findconnected(start,adjmatrix,connected)
leaf=find(adjmatrix(start,:)==1);%找出与节点start直接相连的节点
len=size(leaf,2) ;
flag=0;
nflag=1;for n=1:lenif connected(leaf(n))==0;%若节点已在连接向量(connected)中则跳过
flag(nflag)=leaf(n);
nflag=nflag+1;
end
end
len=size(flag,2) ;if flag~=0
for n=1:len
connected(flag(n))=1;
endfor n=1:len
connected=findconnected(flag(n),adjmatrix,connected);%查找当前节点的子节点
end
end
如果自己向后退缩,就会被人推着向前。---黑柳彻子
转载需说明出处,笔者总结之前的知识,与大家分享,有问题的可以留给我哦~
原文:https://www.cnblogs.com/lemonzhang/p/9253426.html
matlab节点连通率,利用MATLAB仿真节点个数和节点通信半径与网络连通率的关系相关推荐
- MATLAB仿真节点个数和节点通信半径与网络连通率的关系,WSN实验
判断连通的方法 1.不同节点数n,连通率(y轴)和连通半径(x轴)的关系. function函数: function [rate_1]=liantong(jiedian) rate_1 = zeros ...
- matlab节点连通率,利用matlab仿真最小发射功率下wsn的连通性和覆盖率.docx
利用matlab仿真最小发射功率下wsn的连通性和覆盖率.docx 江南大学物联网ZK1/5一题目利用MATLAB仿真最小发射功率下WSN的连通性和覆盖率.二目的(1)在固定节点个数的前提下,仿真求得 ...
- 用MATLAB编程正弦稳态相量图,matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析...
matlab课程设计--利用MATLAB对线性电路正弦稳态特性分析 课程设计任务书 学生姓名: 专业班级: 指导教师: 刘 新 华 工作单位:信息工程学院 题 目: 利用MATLAB对线性电路正弦稳态 ...
- 基于matlab的绘图设计,matlab课程设计---利用MATLAB仿真软件进行绘图
matlab课程设计---利用MATLAB仿真软件进行绘图 课程设计任务书课程设计任务书 题题 目目 利用利用 MATLABMATLAB 仿真软件进行绘图仿真软件进行绘图 初始条件初始条件 仿真软件 ...
- matlab 多普勒效应,《利用MATLAB仿真多普勒效应.doc
<利用MATLAB仿真多普勒效应 利用MATLAB仿真多普勒效应 某某某 摘 要:分析多普勒效应特性,建立数学模型,利用MATLAB软件对其进行仿真试验,进行定量分析,根据仿真试验结果绘制出听者 ...
- matlab计算桁架,利用MATLAB进行桁架结构内力及位移
disp('----本程序用于计算桁架结构内力及位移----'); disp('以下为本程序所用计算基本数据:'); disp('[L]--结构杆件长度列阵(包括定位向量,即节点编号)'); disp ...
- matlab ann-bp分类器,利用matlab真的BP-ANN分类器设计.doc
利用matlab真的BP-ANN分类器设计,ann分类器,bp神经网络分类器,bp分类器,贝叶斯分类器matlab,svm分类器matlab程序,matlab分类器,matlab分类器工具箱,soft ...
- matlab电阻在,利用MATLAB分析电阻电路.doc
利用MATLAB分析电阻电路 利用MATLAB分析电阻电路 学 院: 物理电气信息学院 专 业: 通信工程 姓 名: 顾 川 学 号: 12010245242 指导老师: 汤全武 利用MATLAB分析 ...
- 多元线性回归分析matlab实验报告,利用MATLAB进行多元线性回归.ppt
<利用MATLAB进行多元线性回归.ppt>由会员分享,可在线阅读,更多相关<利用MATLAB进行多元线性回归.ppt(15页珍藏版)>请在人人文库网上搜索. 1.2.线性回归 ...
最新文章
- 如何在线程中获取spring 管理的bean
- oppo刷机工具_黔隆科技刷机教程OPPOR9TM忘记密码免刷机保资料解屏幕锁教程
- 最小新整数(信息学奥赛一本通-T1231)
- 什么是 JxBrowser
- 小米手机无限重启,两清与三清
- 英飞凌基础学习笔记AURIX内核系统架构
- 2021年UI设计培训面试问题及答案解析
- 服务器和客户端TSL协议不一致
- 免费文献下载地址汇总
- h5常见的几种表现形式
- 星浩资本-以流程为中心
- cad lisp程序大集_cad lisp程序
- 西电计算机学院毕设答辩,关于2020年(2016级)第二批本科生毕业设计(论文)盲审及答辩工作安排的通知...
- vue项目vant sku组建满足自定义展示
- html艺术字在线制作,HTML网页设计中的字体设计
- 禁用计算机通信端口,win7/win10系统电脑禁用445端口的详细教程
- Android APP 定时提醒
- ominipeek 发包_wireshark,sniffer,omnipeek三款网络分析工具的比较(转载)
- 成立子公司 联想欲重铸互联网思维
- Python上下文管理器的魔力