在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