主要内容

在parfor-Loops重复随机数字

中描述的控制随机数流工人集群中,每个工人在同一工作有独立的随机数生成器流。因此,默认情况下,每个工人在一个池,并在每个迭代parfor环有一个独特的、独立的随机数。后续的运行parfor循环生成不同的数字。

在一个parfor循环,你无法控制序列的迭代执行,也不能控制哪个工人运行的迭代。所以即使你重置随机数生成器、parfor循环可以生成相同的值在不同的序列。

复制相同的随机数parfor每次循环循环运行时,你必须控制被分配一个特定的substream随机产生每个迭代。

首先,创建您想要使用的流,支持substreams使用发电机。金宝app创建流作为一个parallel.pool.Constant允许所有员工访问流。

sc = parallel.pool.Constant (RandStream (“Threefry”))

parfor循环,你可以设置循环substream指数的指数。这可以确保每个迭代使用特定的随机数字,无论工人迭代或序列的迭代运行在运行。

r = 0 (16);parfor我= = sc.Value 1:16流;%提取流的常数流。Substream =我;r (i) =兰德(流);结束r
r = 1 - 8列0.3640 0.8645 0.0440 0.7564 0.5323 0.8075 0.2145 0.9128列9到16 0.4057 0.0581 0.5515 - 0.4347 0.3531 - 0.4677 0.8287 - 0.2312

另请参阅

|

相关的话题