为什么随机数在启动后重复?
所有的随机数函数,兰德
,randn
,兰迪
,randperm
,从共享随机数生成器中提取值。每次你启动MATLAB®,生成器会自动重置到相同的状态。因此,像这样的命令兰特(2,2)
在启动后立即执行它时,返回相同的结果。此外,任何调用随机数函数的脚本或函数在重新启动时都返回相同的结果。
如果您想避免在MATLAB重新启动时重复相同的随机数数组,那么执行以下命令,
rng (“洗牌”);
兰德
,randn
,兰迪
,或randperm
.此命令确保您不会重复来自前一个MATLAB会话的结果。
如果您想重复在MATLAB会话开始时得到的结果而不重新启动,您可以在任何时候使用
rng (“默认”);
rng(“违约”)
,随后的随机数命令返回与新MATLAB会话的输出相匹配的结果。例如,rng (“默认”);兰德(2,2)=
A = 0.8147 0.1270 0.9058 0.9134
一个
的输出匹配兰特(2,2)
每当你重新启动MATLAB。