RandStream.create
创建在统计上独立的随机数流
语法
说明
创建一个随机流,该流使用 s
= RandStream.create(gentype
)gentype
指定的均匀伪随机数生成器算法。RandStream.list
为 gentype
返回所有的可能值,或参阅创建和控制随机数流了解有关生成器算法的详细信息。当您需要创建单个流时,RandStream
函数是更简洁的方法。
[
创建 s1,s2,...
] = RandStream.create(gentype
,'NumStreams',n)n
个随机数流。这些流在伪随机意义上是独立的。这些流不一定独立于在其他时间创建的流。
注意
并非所有生成器类型都支持多个流。使用乘法滞后斐波那契生成器 ('mlfg6331_64'
) 或组合多递归生成器 ('mrg32k3a'
) 创建多个流。
[___] = RandStream.create(
使用一个或多个 gentype
,Name,Value
)Name,Value
对组控制流的创建。
示例
输入参数
提示
通常,您会在一次传递中或在 MATLAB 会话开始时调用 RandStream.create
一次以创建多个独立流。例如,您可以使用 [s1,s2,s3] = RandStream.create('mrg32k3a','NumStreams',3)
创建三个独立流。
您也可以通过分别调用 RandStream.create
创建每个流,但您必须为 gentype
、'NumStreams'
、'Seed'
和 'StreamIndices'
指定相应值以确保其独立性:
为
gentype
、'NumStreams'
和'Seed'
分别指定相同的值。每次为
'StreamIndices'
指定不同值。所有值都应介于1
到'NumStreams'
的值之间。
例如,使用 s1 = RandStream.create('mrg32k3a','NumStreams',5,'Seed',0,'StreamIndices',1)
和 s2 = RandStream.create('mrg32k3a','NumStreams',5,'Seed',0,'StreamIndices',2)
创建两个独立的流。
版本历史记录
在 R2008b 中推出