Случайная перестановка
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 | перманент | перестановка | rand | randi (RandStream) | randperm