Случайное сочетание
p = randperm(s,n)
p = randperm(s,n,k)
p = randperm(s,n) возвращает вектор-строку, содержащий случайное сочетание целых чисел от 1 до n включительно. randperm(s,n) использует случайные значения, чертившие от случайного потока s.
p = randperm(s,n,k) возвращает вектор-строку, содержащий k уникальные целые числа, выбранные случайным образом от 1 до n включительно.
Создайте случайный поток s и сгенерируйте случайное сочетание целых чисел от 1 до 6 на основе s:
s = RandStream('mt19937ar','Seed',0);
randperm(s,6)[6 3 5 1 2 4]
Используйте случайный поток s сгенерировать три целых числа между 1 и 10:
randperm(s,10,3)
ans =
1 8 9Для p = randperm(s,n,k)P содержит k
уникальные значения. randperm выполняет k-сочетания (производящий без замены). Чтобы позволить повторенные значения в выходе (производящий с заменой), используйте randi(s,n,1,k).
nchoosek | parallel.gpu.RandStream | perms | permute | rand | randi (RandStream) | randperm