文档

RandStream构造函数

随机数流

语法

s = RandStream(“gentype”)
s = RandStream(“gentype”、名称、值)

描述

s = RandStream(“gentype”)创建使用指定的统一伪随机数生成器算法的随机数流gentypeRandStream.list返回的所有可能的值gentype,或者看到选择随机数生成器有关生成器算法的详细信息。

s = RandStream(“gentype”、名称、值)允许您指定一个或多个可选项名称,值对来控制流的创建。

一旦你创建了一个随机的,你就可以使用RandStream.setGlobalStream使它成为全局流,以便函数兰德兰迪,randn从中获取价值。

参数RandStream是:

参数 描述
种子 用于初始化所有流的非负标量整数。种子必须是0到2之间的整数32−1或“洗牌”根据当前时间创建种子。默认值为0。
NormalTransform 常用的变换算法randn(年代,…)生成正常的伪随机值。可能的值是“神”“极地”,或“反转”

例子

示例1

创建随机数流,使其为全局流,并保存和恢复其状态,以复制输出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

示例2

返回兰德兰迪,randn默认启动设置:

s = RandStream('mt19937ar','Seed',0);

示例3

将当前全局随机数流替换为种子基于当前时间的流,因此兰德兰迪,randn将返回不同的值在不同的MATLAB®会话。通常不希望在每个MATLAB会话中这样做超过一次,因为它可能会影响MATLAB产生的随机数的统计属性:

s = RandStream(“mt19937ar”、“种子”,“洗牌”);RandStream.setGlobalStream(年代);

提示

  • 流创建使用RandStream可能不是相互独立的。使用RandStream.create创建多个独立的流。

这个话题有用吗?