用于无线传感器网络路由的改进leach协议(Matlab代码实现)

    目录

💥1 概述

📚2 运行结果

🎉3 参考文献

👨‍💻4 Matlab代码

💥1 概述

当前,无线传感器由于技术的发展得到更加广泛的应用,针对无线传感器网络(WSN)的研究也越来越多,无线传感器网络路由协议成为了一个重点研究对象。按照时间先出现了Flooding算法、SPIN算法、SAR算法和定向扩散(Directed Diffusion)等平面路由算法,其后又研究出了LEACH算法、TEEN算法、HEED算法及PEGASIS算法等层次路由算法。LEACH算法由于其不同于以往路由算法的指导思想成为以后层次路由算法设计时的参考标准,针对LEACH算法的自身局限性进行改进也成为了一个研究热点。实验结果表明,改进后的算法比原来的协议在节点能量均衡方面有了较大的提升,延长了网络生存周期。

📚2 运行结果

主函数部分代码:

clc,clear all,close all
​
numNodes=100;
p=0.1;
  
netArch=newNetwork(100,100,50,175);
nodeArch=newNodes(netArch, numNodes);
roundArch=newRound();
​
plot1
​
graph=struct;
​
for r = 1:roundArch.numRound
    clusterModel=newCluster(netArch, nodeArch, 'ileach',r,p);
    clusterModel=dissEnergyCH(clusterModel, roundArch);
    clusterModel=dissEnergyNonCH(clusterModel, roundArch);
    nodeArch=clusterModel.nodeArch;
    
    graph=plotResults(clusterModel,r,graph);
    if nodeArch.numDead==nodeArch.numNode
        break
    end
end
​

🎉3 参考文献

[1]齐世霞,薛小伟.基于LEACH的无线传感器网络分簇路由协议的改进研究[J].电子技术与软件工程,2022(13):23-26.

部分理论引用网络文献,若有侵权联系博主删除。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/17573.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

CCED2000后,中文编程软件再次脱颖而出,系出金山

WPS抗衡微软,CCEDE却被淹没? DOS代,我们用WPS来进行文字编辑,CCED来做表格,两者在那个时代可以称得上是国产办公领域的“必装软件”。 如今,30年过去了,WPS一步一步成长为抗衡微软office的国产…

魔兽服务端编译部署NPCBots和 Al机器人模块教程

魔兽服务端编译部署NPCBots和 Al机器人模块教程 大家好,我是艾西。在平时自己一个人玩魔兽的时候是不是会比较无聊,因为游戏机制或副本难度自己一个人无法进行快乐的玩耍。今天艾西教大家编译部署NPCBots和 Al机器人模块,直接一个人玩魔兽也不孤单 首先到GIT去下载ai机器…

类与对象(上)

1.面向过程和面向对象初步认识 C语言是面向过程的,关注的是过程,分析出求解问题的步骤,通过函数调用逐步解决问题。 C是基于面向对象的,关注的是对象,将一件事情拆分成不同的对象,靠对象之间的交互完 成。…

法规标准-UN R152标准解读

UN R152是做什么的? UN R152 全名为关于M1和N1型机动车高级紧急制动系统(AEBS)型式认证的统一规定,是联合国对于M1和N1型车辆AEBS系统认证的要求说明,当满足其要求内容时,才可通过联合国的认证&#xff0c…

Node【Node.js 20】新特性

文章目录 🌟前言🌟Node.js 20: 一次重要的升级和改进🌟Internationalization API Update🌟端口管理器🌟字符串处理🌟 更好的调试工具🌟 Crypto模块的更新🌟总结🌟写在最后…

MPSOC(ZU9EG/ZU15EG)PCIE架构高性能数据预处理 FMC载板设计资料

板卡概述 PCIE707 是一款基于 PCIE 总线架构的高性能数据预处理 FMC载板,板卡具有 1 个 FMC(HPC)接口,1 路 PCIe x4 主机接口、 1 个 RJ45 千兆以太网口、2 个 QSFP 40G 光纤接口。板卡采用 Xilinx 的高性能 UltraScale MPSOC 系…

linux用户管理指令

这里写自定义目录标题 一 增加新用户及密码二 切换用户三 userdel 删除用户四 查看用户登录信息五 让普通用户成为管理员1. 修改环境配置文件2.设置用户和密码 六 查看创建哪些用户 一 增加新用户及密码 useradd:加用户名 passwd:加用户密码 [rootlocalhost ~]# u…

etcd原理剖析一

为什么Kubernetes使用etcd? 首先我们来看服务高可用以及数据一致性。单副本存在单点故障,而多副本又引入数据一致性问题。 为了解决数据一致性问题,需要引入一个共识算法。例如Raft等。etcd选择了Raft,它将复杂的一致性问题分解…

【SpringBoot】SpringBoot集成ElasticSearch

文章目录 第一步,导入jar包,注意这里的jar包版本可能和你导入的不一致,所以需要修改第二步,编写配置类第三步,填写yml第四步,编写util类第五步,编写controller类第六步,测试即可 第一…

基于FPGA+JESD204B 时钟双通道 6.4GSPS 高速数据采集模块设计(二)研究 JESD204B 链路建立与同步的过程

基于 JESD204B 的采集与数据接收电路设计 本章将围绕基于 JESD204B 高速数据传输接口的双通道高速数据采集实现展 开。首先,简介 JESD204B 协议、接口结构。然后,研究 JESD204B 链路建立与同 步的过程。其次,研究基于 JESD204B …

网易云音乐开发--主页静态页面搭建

如何用VScode来开发小程序 wxml和wxss来高亮小程序 窗口设置 轮播图制作 就是通过swiper来设置轮播图 iconfont字体图标使用 这里要借助阿里的iconfonticonfont-阿里巴巴矢量图标库 找到自己喜欢的图标,添加到购物车 添加到项目 这样就可以统一的管理图标的库 …

三分钟教你看懂 spring 官方文档

新手如何学会查看官方文档API 首先进入官网:这里以 spring boot 为例 ,进入spring 官方地址 我们进入 spring boot 这里我们要看文档当然是要 learn 了,所以点进去。 我需要的东西在 IO 模块里面,点 IO 进入 发送邮件是不是有了…

MyBatisPlus代码生成器使用

MybatisPlus特点 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝般顺滑 损耗小:启动即会自动注入基本 CURD,性能基本无损耗,直接面向对象操作 强大的 CRUD 操作:内置通用 Mappe…

Java8新特性函数式编程 - Lambda、Stream流、Optional

1.Lambda表达式 1.1 概述 ​ Lambda是JDK8中一个语法糖。他可以对某些匿名内部类的写法进行简化。它是函数式编程思想的一个重要体现。让我们不用关注是什么对象。而是更关注我们对数据进行了什么操作。 1.2 核心原则 可推导可省略 1.3 基本格式 (参数列表)->{代码}例一…

mvn help:effective-pom命令的作用

无论 POM 文件中是否显示的声明,所有的 POM 均继承自一个父 POM,这个父 POM 被称为 Super POM。在pom的继承关系中,子pom可以覆盖父pom中的配置;如果子pom没有覆盖,那么父pom中的配置将会被继承。按照这个规则&#xf…

ChatGLM的搭建过程

本次搭建的是清华大学开源的ChatGLM。源码地址。模型地址。 1、开启BBR加速 如何开启BBR加速可以去看我的这篇文章,Linux开启内核BBR加速。 2、拉取ChatGLM源码和ChatGLM模型 点击这里跳转到源码处。 点击这里跳转到模型下载处。 我这里在下载之前创建了一个目…

大厂都用DevOps!十分钟带你了解自动化在DevOps中的运用

Hi,大家好。DevOps、CI/CD、Docker、Kubernetes……好像全世界都在谈论这些技术,以至于你觉得即将到达NoOps阶段。别担心,在工具和各种最佳实践的浩瀚海洋中感到迷失是正常的,是时候让我们来分析一下DevOps到底是什么了。 一、De…

机器学习随记(5)—决策树

手搓决策树:用决策树将其应用于分类蘑菇是可食用还是有毒的任务 温馨提示:下面为不完全代码,只是每个步骤代码的实现,需要完整跑通代码的同学不建议花时间看;适合了解决策树各个流程及代码实现的同学复习使用。 1 数据…

【Redis7】Redis7 持久化(重点:RDB与AOF重写机制)

【大家好,我是爱干饭的猿,本文重点介绍Redis7 持久化(重点:RDB与AOF重写机制)。 后续会继续分享Redis7和其他重要知识点总结,如果喜欢这篇文章,点个赞👍,关注一下吧】 …

每天看一个fortran文件(7)之寻找cesm边界层高度计算代码

自从我把我的代码移到了单独的F90 中,从tphysac.F90中调用后。我发现有很多的变量我没办法调用了,特别是边界层中原先已经算好的变量,比如说我想调用原来模式中的pblh,但是那是在vertical diffusion.F90中计算的,在tphysac中根本调…