生成可重复的随机数 |
您所在的位置:网站首页 › 怎么让随机数固定 › 生成可重复的随机数 |
首先,初始化随机数生成器,以使本示例中的结果具备可重复性。例如,以下代码将种子设定为 1 并将生成器算法设置为梅森旋转。 rng(1,"twister");然后创建随机数数组。 A = rand(3,3)A = 0.4170 0.3023 0.1863 0.7203 0.1468 0.3456 0.0001 0.0923 0.3968重复同样的命令。 A = rand(3,3)A = 0.5388 0.2045 0.6705 0.4192 0.8781 0.4173 0.6852 0.0274 0.5587第一次调用 rand 改变了生成器的状态,所以第二次调用的结果不同。 现在使用之前的种子和算法重新初始化生成器。然后将再次生成第一个矩阵 A。 rng(1,"twister"); A = rand(3,3)A = 0.4170 0.3023 0.1863 0.7203 0.1468 0.3456 0.0001 0.0923 0.3968当您希望实现下列结果时,应同时设置种子和生成器: 应确保如今编写的代码在以后的 MATLAB® 版本中运行时该时可返回相同的结果。 应确保在使用当前版本时,您在以前 MATLAB 版本中编写的代码可返回相同的结果。 在运行他人的随机数代码之后,再重复自己代码的随机数。 请参见 rng 参考页来了解可用的生成器列表。 当您第一次启动 MATLAB 会话或调用 rng("default") 时,MATLAB 使用默认算法和种子初始化随机数生成器。从 R2023b 开始,您可以在 MATLAB 预设项中设置默认算法和种子。如果您不更改这些预设项设置,则与以前的版本一样,rng 将使用种子为 0 的梅森旋转生成器的出厂值 "twister"。有关详细信息,请参阅 随机数生成器的默认设置 和 随机数生成器的可再现性。 |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |