RandStream
随机数流
说明
RandStream
使用指定的伪随机数生成器算法创建随机数流。
您可以从一个或多个随机数流生成 MATLAB® 中的伪随机数。生成随机数数组的最简单方法是使用 rand
、randi
、randn
或 randperm
函数。这些函数全部依赖于同一个均匀分布的随机数流,称为全局流。更改全局流可以使用 RandStream
,但这不是必需的。如果使用 RandStream
创建一个流,可以使用 RandStream.setGlobalStream
使其成为全局流。但是,rng
函数提供了更简单的接口来创建一个可以满足大多数用例需求的全局流。
您也可以使用 RandStream
创建流,然后使用 rand
、randi
、randn
或 randperm
从这些流中生成随机数。生成的随机数独立于从全局流或其他流中得到的随机数。有关详细信息,请参阅对象函数。
创建对象
使用以下语法创建单个随机数流。如果要同时创建多个独立的流,请使用 RandStream.create
函数。
描述
还使用一个或多个可选的 s
= RandStream(gentype
,Name,Value
)Name,Value
对组参量来控制流的属性。
输入参量
属性
对象函数
默认情况下,随机数生成函数(如 rand
)使用全局随机数流。要指定不同流,请创建一个 RandStream
对象,并将其作为第一个输入参量进行传递。例如,使用面向 SIMD 的快速梅森旋转创建一个 4×1 随机数向量。
s = RandStream('dsfmt19937'); r = rand(s,4,1);
这些函数接受 RandStream
对象:
rand | 均匀分布的随机数 | 支持的语法,其中 X = rand(s) X = rand(s,n) X = rand(s,sz1,...,szN) X = rand(s,sz) X = rand(s,__,typename) X = rand(s,__,'like',p) rand 、randi 和 randn 。 |
randi | 均匀分布的伪随机整数 | |
randn | 正态分布的随机数 | |
randperm | 整数的随机排列 | 支持的语法,其中 p = randperm(s,n) p = randperm(s,n,k) randperm 。 |
RandStream
的其他对象函数有:
RandStream.create | 创建在统计上独立的随机数流 |
RandStream.list | 列出随机数生成器算法 |
RandStream.getGlobalStream | 获取当前全局随机数流 |
RandStream.setGlobalStream | 设置全局随机数流 |
reset | 重置随机数流 |
示例
详细信息
扩展功能
版本历史记录
在 R2008b 中推出