在 Matlab 2014b 中为 betarnd() 设置种子

Setting the seed for betarnd() in Matlab 2014b

我正在尝试为 betarnd() 设置种子,以便每次重新 运行 我的代码时,我都使用 betarnd() 生成的相同值。在别人电脑上的旧版Matlab中,做

就可以了
randn('seed', num)
rand('seed', num)
例如,

每次 betarnd(0.5,0.5,[1,15]) 为 运行 时,她都可以获得从 beta 分布中采样的同一组随机值。然而,在我的例子中,尽管我设置了如上所示的种子,但我得到了不同的值。是什么导致了这种差异?我该如何解决?

自 2014 版以来,Matlab 更改了其策略和语法。看看他们的 explanation page。基本上,您现在可以在像往常一样使用函数 randrandn 之前使用 rng(sd) 设置种子。