NS-2模拟LEACH协议,并用gnuplot画图 详细

本文介绍了如何在NS-2环境下模拟LEACH协议,并使用gnuplot进行数据分析和绘图。首先,需修改test_leach文件的参数,指定运行协议和结果存放位置。接着,创建LEACH文件夹并运行模拟,观察.err文件确保无误。当模拟完成后,使用gawk处理数据,并编写awk脚本进行分析。最后,借助gnuplot将数据转化为图形,通过输入gnuplot命令完成绘图。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1.打开test_leach文件,修改参数
打开终端,输入cd /home/ns-allinone-2.34/ns-2.34
打开里面的test_leach文件,修改alg dirname,alg代表要运行的协议,dirname代表模拟生成的文件放置的位置,所以后面需要新建相应文件夹。
alg=leach" dirname="mit/leach_sims/LEACH
2.新建文件夹
/home/ns-allinone-2.34/ns-2.34/mit/leach_sims下创建LEACH文件夹
3../test运行
打开LEACH文件,先看.err文件,有无错误。
.err文件
文件夹内会生成很多文件,LEACH在后台运行,所以Coordinate.xxx.txt文件会持续更新,直到运行完成(节点全部死亡)。
有一种情况,.err文件内没有报错,但是没有生成Coordinate.xxx.txt文件,其他文件不能打开或者打开为空,目前我还没找到原因,我的LEACH-C运行就是这样的,希望有大佬能帮我解答一下。
LEACH
4.利用gawk分析数据
在leach_sims文件夹下新建test.awk文件。
直接贴一段代码,这部分代码我是直接从网上找的。

# 计算不同时间剩余节点的数量
BEGIN {
   
   

  countcyl=0;		
  totalleft=0;		

  lasttime=0;		
  time[0]=0;
  node=0;
  total[0]=100;
}
{
   
   

simtime              = $1;
nodeid               = $2;
statenode            = $3;
# 
if (simtime>lasttime ) {
   
   	 
    countcyl++;				
    lasttime=simtime;		
    time[countcyl
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值