如何在matlab中的limit [m,n]中随机生成所有数字?

Jee*_*han 3 random matlab numbers limit

如何随机生成所有数字limit [m,n].要从...生成所有数字6 to 12,序列必须如此[7 12 11 9 8 10 6].

r = randi([6 12],1,7);
Run Code Online (Sandbox Code Playgroud)

但这给出了结果:

[12  11  12   7   9  10  12] 
Run Code Online (Sandbox Code Playgroud)

这里重复数字,序列不包含所有数字6 to 12.

Dav*_*vid 6

您可以使用randperm在1和n(在哪里n是向量的长度)之间的随机数列表,并使用它来置换向量.

v=6:12;
n=length(v);
I=randperm(n);
v(I)
Run Code Online (Sandbox Code Playgroud)