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不会改变已经生成的数。 - 对照实验时把种子写进说明,便于他人复现。