RNG

控制随机数发生器

描述

RNG(种子指定了MATLAB种子®随机数发生器。例如,RNG(1)初始化使用种子的梅森倍捻机发生器1

RNG功能控制全球流,它决定如何兰特兰迪randnrandperm函数产生的随机数的序列。要创建一个或多个独立的流从全局流中分离出来,见RandStreamRandStream.create

RNG(种子发电机还指定的随机数生成器来使用的类型。例如,RNG(0, 'philox')用的种子初始化Philox 4x32随机发生器0

S = RNG在一个结构返回当前随机数发生器设置小号

例子

全部收缩

随机数生成器设置为默认的种子(0)和算法(梅森难题),然后保存生成器设置。

RNG('默认')S = RNG
S =同场的结构:类型: '绕口令' 种子:0状态:625x1 UINT32]

创建随机值的0和1之间的1×5行向量。

X =兰特(1,5)
X =1×50.8147 0.9058 0.9134 0.1270,0.8037 0.6324

改变发电机的种子和算法,并创建一个新的随机行向量。

RNG(1,'philox')xnew =兰特(1,5)
xnew =1×50.5361 0.2319 0.7753 0.2390 0.0036

现在,恢复原来的发电机设置,并创建一个随机向量。结果原始行向量匹配X使用默认发生器产生。

RNG(S)xold =兰特(1,5)
xold =1×50.8147 0.9058 0.9134 0.1270,0.8037 0.6324

输入参数

全部收缩

发电机初始化,指定为下列选项之一。

描述
0 初始化与种子生成器0
正整数 初始化发电机与指定的正整数种子,如1
'默认' 初始化梅森倍捻机发生器种子0。这是在每个MATLAB会话开始的默认设置。
“洗牌” 初始化发生器基于所述当前时间,产生随机数的不同序列中的每个调用后RNG
结构体 根据设置初始化生成包含与字段的结构类型种子

随机数的算法,指定为表中的选项之一。有关生成算法的详细信息,请参阅创建和控制一个随机数流

生成器名称 发电机关键字
“扭腰” 梅森倍捻机 mt19937ar
'simdTwister' SIMD导向的快速梅森倍捻机 dsfmt19937
'combRecursive' 联合多个递归 mrg32k3a
'multFibonacci' 乘滞后斐波那契 mlfg6331_64
'philox' Philox 4x32发生器10发 philox4x32_10
'threefry' Threefry 4x64发生器20发 threefry4x64_20

对于在MATLAB版本4.0和5.0,这些选项使用一个使用的传统发电机。

生成器名称 发电机关键字
'V4' 旧版MATLAB 4.0版发生器 mcg16807
'v5uniform' 旧版MATLAB 5.0版统一发生器 shr3cong
'v5normal' 旧版MATLAB 5.0版正常发生器 swb2712

提示

  • 当并行处理,RNG( '洗牌')不应该被用于设置不同的工人的随机数流,以保证独立的流,因为它的种子根据当前时间的随机数发生器。当该命令被同时发送到多个工人,如内部时,尤其如此PARFOR工作。有关工作人员的独立流,使用默认的行为,或考虑使用使用上每个工人的唯一子RandStream

  • 要使用RNG而不是兰特要么randn与功能'种子''州', 要么“扭腰”输入,见更换兰特和randn望而却步语法

扩展功能

介绍了在R2011a