Linux下对NS2项目的仿真分析全过程代码(从tcl脚本-awk文本处理-gnuplot)
来源:互联网 发布:全国省市县数据库 sql 编辑:程序博客网 时间:2024/06/05 18:40
1、编写 tcl 脚本文件,得到 out.tr 以及 out.nam 文件;out.tr文件存储的是仿真得到的数据
运行代码:
创建tcl文件:touch example.tcl (example为文件名)
或 gedit example.tcl
运行编好的tcl文件:ns example.tcl 得到out.tr文件(用于awk文本分析)
2、用awk语言编写文件处理tcl脚本运行后得到的数据(.tr文件),运行awk文件
运行代码:
创建awk文件:touch example.awk (example为文件名)
或 gedit example.awk
运行编好的awk文件:awk -f example.awk out.tr > result 得到一个输出文件:result(用于画图)
注:在一些复杂的情况下(例如:需要测量在不同数据速率的情况下,系统吞吐量等的性能时),前面两步可以通过写一个脚本来完成:
通过建立一个shell脚本文件得到不同数据发送速率下的平均时延、丢包率、吞吐量等,下面为一个简单的例子。
数据速率从1Kbps-30Kbps得到与上面result类似的数据
#!/bin/shi=1while [ "$i" -le 300 ]; dons realize2.tcl $iawk -f delay.awk rate=$i wired_wireless.tr >> delayawk -f loss.awk rate=$i wired_wireless.tr >> loss_rateawk -f throughtput.awk rate=$i wired_wireless.tr >> throughtputif [ "$i" -le 225 ]; theni=$(($i+20))elif [ "$i" -le 250 ]; theni=$(($i+5))elsei=$(($i+2))fidoneexit 0
得到三个处理后的文件:delay,loss_rate,throughtput
delay文档:每一行表示每一个数据率下,该网络系统的delay
loss_rate文档:每一行表示每一个数据率下,该网络系统的loss_rate
throughtput文档:每一行表示每一个数据率下,该网络系统的throughtput
3、gnuplot 将result数据用图表表示
启动画图工具:source /etc/profile
gnuplot
建立一个.plt文件:里面包含一些画图命令,如下面的例子所示plot.plt
运行:gnuplot> load 'plot.plt' //load 命令来运行该plot.plt文件
注意:运行文件时,要先进入delay,loss_rate,throughtput所在的文件夹内:cd '/home/realize/......'
注意: gnuplot要求所有文件和目录名用单引号或双引号括起来
gnuplot可以在提示符下一行行输入代码。另外,也可以把代码存入一个临时文件中,并在提示符下输入load ‘filename’来运行它(别忘记引号),像上面一样。
set multiplot //设置为多图模式set size 0.5,0.5 //设置图的大小set origin 0.0,0.0 //设置第一个图的原点位置set xrange [0:300] //设置X 坐标的范围set xlabel "data_rate(Kbps)"set ylabel "pkt_delay(s)"plot "delay" with linespoints lw 2 pt 19 //文档名为:delay,将文档中的第一列作为横坐标,第二列作为纵坐标绘图set origin 0.5,0.0 //设置第二个图的原点位置set ylabel "loss_rate(100%)"plot "loss_rate" with linespoints lw 2 pt 19set origin 0.0,0.5 //设置第三个图的原点位置set ylabel "throughtput(Kbps)"plot "throughtput" with linespoints lw 2 pt 19运行后得到:rate-delay,rate-loss_rate,rate-throughtput仿真图
- Linux下对NS2项目的仿真分析全过程代码(从tcl脚本-awk文本处理-gnuplot)
- linux下对NS2项目仿真分析的工具运用
- ns2代码分析(二)-tcl文件处理
- linux系统下运行NS2的脚本文件(.tcl文件)
- 记录Linux:NS2仿真中出现的一些问题(gnuplot以及get_perform文件)
- NS2中tcl脚本文件分析(转)
- linux下的文本处理命令sed&awk&grep
- linux下的文本处理命令sed&awk&grep
- linux系统下的文本处理,awk,sed
- linux下的ssh、telnet登录脚本(tcl)
- 转:awk和gnuplot对ns模拟之后.tr文件的处理实验
- Linux Shell 脚本应用——awk文本处理文件
- linux下NS2学习之gnuplot安装经验
- NS2仿真分析无线网络的攻击防御(1)
- NS2仿真分析无线网络的攻击防御(2)
- linux 强大的文本处理命令awk详解(转)
- Tcl脚本:从文件读入一行并处理的框架
- linux下字符串处理工具二:awk( 二),awk脚本
- 100项PPT制作技术,做出让观众倾倒的演示文档!
- Springmvc配置
- Leetcode题解
- 详解Android Activity:Activity的生命周期
- JDBC(Java DataBase Connectivity)增删改查简单整理
- Linux下对NS2项目的仿真分析全过程代码(从tcl脚本-awk文本处理-gnuplot)
- 【剑指offer】题39:平衡二叉树
- 关于Linux下编译和使用动态链接库静态链接库
- Maven实践(十一)---POM文件中各种元素的含义
- 【ChinaNews】2.MySQL的安装与设置
- LIB和DLL的区别
- servlet基础
- Angular4 文件上传
- Linux动态链接库.so文件的创建与使用