如何在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