随机数流
s = RandStream(“gentype”)
s = RandStream(“gentype”、名称、值)
s = RandStream(“gentype”)
创建使用指定的统一伪随机数生成器算法的随机数流gentype
.RandStream.list
返回的所有可能的值gentype
,或者看到选择随机数生成器有关生成器算法的详细信息。
s = RandStream(“gentype”、名称、值)
允许您指定一个或多个可选项名称,值
对来控制流的创建。
一旦你创建了一个随机的,你就可以使用RandStream.setGlobalStream
使它成为全局流,以便函数兰德
,兰迪
,randn
从中获取价值。
参数RandStream
是:
参数 | 描述 |
---|---|
种子 |
用于初始化所有流的非负标量整数。种子必须是0到2之间的整数32−1或“洗牌” 根据当前时间创建种子。默认值为0。 |
NormalTransform |
常用的变换算法randn(年代,…) 生成正常的伪随机值。可能的值是“神” ,“极地” ,或“反转” . |
创建随机数流,使其为全局流,并保存和恢复其状态,以复制输出randn
:
s = RandStream(“mrg32k3a”);RandStream.setGlobalStream(年代);savedState = s.State;Z1 = -0.1894 -1.4426 -0.3592 0.8883 -0.4337 s。状态= savedState;Z2 = -0.1894 -1.4426 -0.3592 0.8883 -0.4337
z2
包含完全相同的值z1
.
返回兰德
,兰迪
,randn
默认启动设置:
s = RandStream('mt19937ar','Seed',0);
将当前全局随机数流替换为种子基于当前时间的流,因此兰德
,兰迪
,randn
将返回不同的值在不同的MATLAB®会话。通常不希望在每个MATLAB会话中这样做超过一次,因为它可能会影响MATLAB产生的随机数的统计属性:
s = RandStream(“mt19937ar”、“种子”,“洗牌”);RandStream.setGlobalStream(年代);
流创建使用RandStream
可能不是相互独立的。使用RandStream.create
创建多个独立的流。