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