文档

为什么创业后随机数会重复?

所有的随机数函数,兰德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。

另请参阅