控制随机数发生器
执行并行处理时,不要使用rng(“洗牌”)
在不同的worker上设置随机数流,以确保流是独立的,因为它基于当前时间为随机数生成器播种。当命令被同时发送给多个工作线程时,尤其如此parfor
的工作。对于worker上的独立流,使用默认行为或考虑在每个worker上使用唯一的子流RandStream
.
在执行并行处理时,MATLAB客户端和MATLAB工作者上的默认随机数生成器是不同的。如果您需要在客户机和工作者上生成相同的随机数字流,您可以使用rng
使用相同的发电机类型和种子(或考虑使用RandStream
使用相同的生成器类型、种子和正常转换算法)。有关更多信息,请参见控制工人上的随机数流(并行计算工具箱).
使用rng
而不是兰德
或randn
函数具有“种子”
,“状态”
,或“旋风”
输入,看到替换rand和randn的不鼓励语法.