如何在limit [m,n]
中随机生成所有数字。要从6 to 12
生成所有数字,即序列必须类似于[7 12 11 9 8 10 6]
。如何在matlab中限制[m,n]中随机生成所有数字?
r = randi([6 12],1,7);
但这给出结果:
[12 11 12 7 9 10 12]
这里的数字是重复的序列不从6 to 12
包含所有数字。
如何在limit [m,n]
中随机生成所有数字。要从6 to 12
生成所有数字,即序列必须类似于[7 12 11 9 8 10 6]
。如何在matlab中限制[m,n]中随机生成所有数字?
r = randi([6 12],1,7);
但这给出结果:
[12 11 12 7 9 10 12]
这里的数字是重复的序列不从6 to 12
包含所有数字。
您可以使用randperm
来制作1到n
之间的随机数列表(其中n
是您的矢量的长度),并使用该列来排列矢量。
v=6:12;
n=length(v);
I=randperm(n);
v(I)
假设您使用均匀分布进行采样。
r = datasample(6:12,7,'Replace',false)
简单地说这确实无需更换随机抽样的,因此你从原来的群体中所有的值按随机顺序。
小注:这需要统计工具箱。接受的答案提供了更好的兼容性,因为它依赖于没有工具箱。 – rayryeng