randperm

Случайное сочетание целых чисел

Описание

пример

p = randperm(n) возвращает вектор-строку, содержащую случайное сочетание из целых чисел от 1 до n без повторяющихся элементов.

пример

p = randperm(n,k) возвращает вектор-строку, содержащее k уникальные целые числа, выбранные случайным образом от 1 до n.

p = randperm(s,___) генерирует случайное сочетание целых чисел из потока случайных чисел s вместо глобального потока по умолчанию. Чтобы создать поток, используйте RandStream. Задайте s далее следуют любые комбинации аргументов в предыдущих синтаксисах.

Примеры

свернуть все

Сгенерируйте случайное сочетание целых чисел от 1 до 6. Вход в randperm указывает самое большое целое число в интервале дискретизации (самое маленькое целое число в интервале 1).

r = randperm(6)
r = 1×6

     6     3     5     1     2     4

Сгенерируйте случайное сочетание четырех уникальных целых чисел (без повторяющихся элементов), выбранных случайным образом из целых чисел с 1 по 8.

r1 = randperm(8,4)
r1 = 1×4

     6     4     7     3

Сгенерируйте другое случайное сочетание четырех уникальных целых чисел.

r2 = randperm(8,4)
r2 = 1×4

     8     7     5     4

Сохраните текущее состояние генератора случайных чисел и создайте случайное сочетание целых чисел от 1 до 8.

s = rng;
r = randperm(8)
r = 1×8

     6     3     7     8     5     1     2     4

Восстановите состояние генератора случайных чисел в s, а затем создайте новое случайное сочетание целых чисел от 1 до 8. Сочетание такая же, как и прежде.

rng(s)
r1 = randperm(8)
r1 = 1×8

     6     3     7     8     5     1     2     4

Можно использовать rng функция для определения настроек генератора случайных чисел.

Входные параметры

свернуть все

Количество целых чисел в интервале расчета, заданное как положительное целое число. randperm транспозиция целочисленных значений от 1 до n включительно.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Количество выбранных целых чисел в виде положительного целого числа. k также должно быть меньше или равно n.

Типы данных: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

Поток случайных чисел, заданный как a RandStream объект.

Пример: s = RandStream('dsfmt19937'); randperm(s,10)

Совет

  • Последовательность чисел, произведенных randperm определяется внутренними настройками однородного генератора псевдослучайных чисел, который лежит в основе rand, randi, randn, и randperm. Чтобы управлять этим генератором случайных чисел, используйте rng функция.

  • Массивы, возвращенные randperm содержат сочетание целых чисел без повторения целочисленных значений. Такое поведение иногда упоминается как выборка без замены. Если вам требуется повторяющиеся значения, используйте randi функция.

  • randperm(n) и randperm(n,n) обе генерируют сочетания целых чисел с 1 по nно они могут давать различные случайные упорядоченные расположения в сочетаниях. Для больших n, randperm(n,n) быстрее, чем randperm(n).

Расширенные возможности

Генерация кода C/C + +
Сгенерируйте код C и C++ с помощью Coder™ MATLAB ®

.

См. также

| | | |

Представлено до R2006a