文档

RandStream构造函数

随机数流

语法

s = RandStream('gentype')
s = RandStream('gentype',名称,值)

描述

s = RandStream('gentype')所指定的统一伪随机数生成器算法创建随机数流gentypeRandStream.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创建多个独立的流。