randperm (RandStream)

Случайная перестановка

Класс

RandStream

Синтаксис

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)
MATLAB® возвращает вектор
[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).

Была ли эта тема полезной?