免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3116 | 回复: 0
打印 上一主题 下一主题

NS2进阶实例8--RandomNumber Generation(NS2中随机数产生) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-11-10 13:10 |只看该作者 |倒序浏览
     网络仿真中有很多场景是需要随机数作为输入或控制时刻的,为此我参考了柯老师资料,学习了NS2中产生随机数的方法,并且给出我的TCL代码,方便大家学习,也方便自己以后查询,可以拿来即用!
     以下只给出产生各种随机数的基本方法,至于实际场景下应该如何设置具体的参数,应该选取何种随机数,以及各种随机数本身的特性,请自行斟酌哦!
     随机数:
     Pareto分布;
     Constant型;
     Uniform分布;
     Exponential分布;
     HyperExponential分布;
  
     实际上各种分布的使用是一致的,关键还是如何选取,如何设置参数, 这将在今后的博文中给出!

    实例8: (RandomTest.tcl)
   
#参考了柯老师的资料
set rng [new RNG]
$rng seed 1   ;#seed 为 1时生成的是伪随机数;为0时,每次执行得到的数据将不一样
set nn 5      ;#设置产生随机数的个数
#Pareto分布
puts "Testing Pareto Distribution"
set r1 [new RandomVariable/Pareto]
$r1 use-rng $rng
$r1 set avg_ 10.0
$r1 set shape_ 1.2
for { set i 1} {$i 将产生的随机数导入到文件中存下
}
#常数分布
puts "Testing Constant Distribution"
set r2 [new RandomVariable/Constant]
$r2 use-rng $rng
$r2 set avg_ 10.0
for { set i 1} {$i 将产生的随机数导入到文件中存下
}
#正态分布
puts "Testing Uniform Distribution"
set r3 [new RandomVariable/Uniform]
$r3 use-rng $rng
$r3 set min_ 0.0
$r3 set max_ 10.0
for { set i 1} {$i 将产生的随机数导入到文件中存下
}
#Exponential分布
puts "Testing Exponential Distribution"
set r4 [new RandomVariable/Exponential]
$r4 use-rng $rng
$r4 set avg_ 5
for { set i 1} {$i 将产生的随机数导入到文件中存下
}
#Hyperexponential分布
puts "Testing HyperExponential Distribution"
set r5 [new RandomVariable/HyperExponential]
$r5 use-rng $rng
$r5 set avg_ 5
for { set i 1} {$i 将产生的随机数导入到文件中存下
}

实验结果:
   


导入到文件中:
       使用命令:  $ns RandomTest.tcl > RandomTest 即可!
       (当然,使用随机数文件时,你需要把提示语句去掉哦!)

相信,在运行测试过之后, 在TCL中使用随机数将不会是问题! 哈哈

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/105477/showart_2090708.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP