MATLAB 随机数函数参考

MATLAB rng 设置伪随机数生成器的种子与算法。随机实验、报告或对照两次运行时,应在生成随机数之前调用它。

语法

rng(seed)
rng('shuffle')
s = rng
rng(s)

输入参数

参数说明
seed非负整数种子。相同种子得到同一串随机数
'shuffle'按当前时间更换种子
s先前用 s = rng 保存的状态结构体

输出

s = rng 返回当前生成器状态,可在稍后 rng(s) 恢复。

示例

rng(42)
a = rand(1, 3)
rng(42)
b = rand(1, 3)    % 与 a 相同

先保存状态,中途换种子后再恢复:

s = rng;
r1 = rand;
rng('shuffle');
r2 = rand;
rng(s);
r3 = rand;        % 从保存点继续

注意事项

  • 必须写在 rand / randn / randi / randperm 之前才有效。
  • 脚本末尾再写 rng 不会改变已经生成的数。
  • 对照实验时把种子写进说明,便于他人复现。