RandomNumber Generation

原文链接:http://blog.chinaunix.net/u3/105477/showart_2090708.html

 

随机数:

     Pareto分布;
     Constant型;
     Uniform分布;
     Exponential分布;
     HyperExponential分布;
     实际上各种分布的使用是一致的,关键还是如何选取,如何设置参数. 
   (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]  ;#可以在命令窗口,利用 > 将产生的随机数导入到文件中存下
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值