matlab中的rng,seed函数

rng(seed)函数用于控制随机数的生成。

rng(seed)使用非负整数seed为随机数生成函数提供种子,以使得rand、randi和randn生成可预测的数字序列。

使用rng(seed)时,若seed相同,则两次生成的随机数序列相同。

1 num = 5;
2 rng(20211104);
3 array1 = randperm(num); //生成的序列是从1到num不重复的数据

运行以上代码时,第一次运行和第二次运行结果相同,为:

1 array1 = [5,2,3,4,1]

rng(seed)函数设置的seed不同,则生成的随机数据也不同。

1 num = 5;
2 rng(20211105);
3 array2 = randperm(num);

运行结果为:

1 array2 = [4,5,2,3,1]

rng(seed)函数中,若seed设置相同,但是生成的随机数据的个数不同,结果也会有差异。

1 num = 6;
2 rng(20211105);
3 array3 = randperm(num);

运行结果为:

1 array3 = [4,6,5,2,3,1]