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