NS2进阶实例 8---RandomNumber Generation(NS2中随机数产生)
2014-02-28 21:58
513 查看
NS2进阶实例 8---RandomNumber Generation(NS2中随机数产生)
2011-06-19 16:09:00| 分类:NS2学习 |举报
|字号 订阅
网络仿真中有很多场景是需要随机数作为输入或控制时刻的,为此我参考了柯老师资料,学习了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<=$nn} {incr i} { puts [$r1 value] ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下 } #常数分布 puts "Testing Constant Distribution" set r2 [new RandomVariable/Constant] $r2 use-rng $rng $r2 set avg_ 10.0 for { set i 1} {$i<=$nn} {incr i} { puts [$r2 value] ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下 } #正态分布 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<=$nn} {incr i} { puts [$r3 value] ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下 } #Exponential分布 puts "Testing Exponential Distribution" set r4 [new RandomVariable/Exponential] $r4 use-rng $rng $r4 set avg_ 5 for { set i 1} {$i<=$nn} {incr i} { puts [$r4 value] ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下 } #Hyperexponential分布 puts "Testing HyperExponential Distribution" set r5 [new RandomVariable/HyperExponential] $r5 use-rng $rng $r5 set avg_ 5 for { set i 1} {$i<=$nn} {incr i} { puts [$r5 value] ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下 } |
![](http://blogimg.chinaunix.net/blog/upfile2/091110130721.jpg)
[align=center] [/align]
导入到文件中:
使用命令: $ns RandomTest.tcl > RandomTest 即可
相关文章推荐
- cryptography 使用RandomNumberGenerator产生加密强随机数
- 15.幸运抽奖(利用random产生随机数)
- 让random在 4000 极短时间内产生的随机数不相同
- C++ 利用<cstdlib> 头文件 , 产生一个random number generator
- Random产生随机数问题
- Matlab:random number generation of various distribution
- ORACLE 如何产生一个随机数:DBMS_RANDOM
- shell实例浅谈之产生随机数七种方法
- php产生随机数的两种方法实例代码 输出随机IP
- ORACLE中使用DBMS_RANDOM去产生随机数
- C#--利用Random类产生10个[10,99]之间的随机数,并将这10个随机数在列表框中显示出来,每个数占一项。用户选择某项后,在右边标签中显示所选内容
- vb中产生随机数经典实例分析
- linux 随机数的产生/dev/random 和/dev/urandom
- c# Random太快产生的随机数会重复
- java产生随机数(Math.random())
- boost::random产生随机数的一种方法
- 产生随机数可以提高网络安全的新方法(New method of producing random numbers could improve cybersecurity)
- Random中的随机数的产生机制
- NS2中的随机数产生器(转)
- 菜单 MDI多文档界面 Random产生随机数 imagebox实现图片上下切换