生成可重复的随机数

您所在的位置:网站首页 怎么让随机数固定 生成可重复的随机数

生成可重复的随机数

2024-05-09 05:17| 来源: 网络整理| 查看: 265

首先,初始化随机数生成器,以使本示例中的结果具备可重复性。例如,以下代码将种子设定为 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