以NS3自带的例子程为例来说明。
进行NS安装目录,下面有/examples/tutorial目录下,有一个拥塞窗口的例子 fifth.cc
cd NS3/
cd ns-allinone-3.25/
cd ns-3.25
./waf --run examples/tutorial/fifth >fifth.dat 2>&1
则在后台完成对fifth.cc的运行并把结果存在ns-3.25目录下的fifth.dat中
解释:
> 表示输出重定向。
>fifth.dat 把执行的结果存入到文件。一般情况下,输出重定向到当前屏幕,>fifth.dat表示输出重定向到该文件。
2>&1 在shell中,文件描述符通常是:STDIN,STDOUT,STDERR,即:0,1,2,
&表示在后台执行, 2>&1 表示,把错误信息stderr也放到stdout中输出.
在dat所在目录下进入GNUPLOT
gnuplot
set terminal png size 640,480
set output "fifth.png"
plot "fifth.dat" using 1:2 title "Congestion Window" with linespoints
会发现在ns-3.25目录下产生fifth.png图
解释:
set termianl png //设置输出图片格式,如png,gif,jpg等
set size width,height //设备图片宽度,高度
set output "图片名称" //设置保存图片名称。
plot title "标题名" //设置图片标题名称,一般用英文,有时不支持中文字符
plot "数据.dat" using 1:2 with linespoints //把数据文件"数据.dat"输出图像, using 1:2,使用第1,2列数据输出.
with linespoints //点用符号,点与点之间用线连接
a plot "数据.dat" //只输出数据点
b plot "数据.dat" with lines //把点连起来,成线。
c plot "数据.dat" with linespoints //点用符号,点与点之间用线连接
d plot 'file.dat' using 1:3 with linespoints //使用1,3列绘图
e plot 'file.dat' using 1:($3/2) with linespoints //使用第一列与第三列的二分之一绘图