randperm

Permutação aleatória dos inteiros de 1 a n.

Categoria: Mathematics > Random Number Generation

Sintaxe

p = randperm(n)

Retorna um vetor linha com os inteiros de 1 a n em ordem aleatória.

p = randperm(n, k)

Retorna k inteiros únicos escolhidos ao acaso em 1:n.

p = randperm(s, ___)

Usa o objeto RandStream s em vez do fluxo global.

Descrição

Cada valor aparece no máximo uma vez, então randperm amostra sem reposição. É a forma usual de embaralhar: x(randperm(numel(x))) reordena um vetor, e randperm(n, k) escolhe k índices aleatórios.

Argumentos de entrada

n
Escalar inteiro não negativo.
k
Quantidade de valores a retornar, com 0 <= k <= n; caso contrário ocorre um erro.

Argumentos de saída

p
Vetor linha de inteiros únicos, com todas as ordens igualmente prováveis.

Exemplo

Embaralhar e amostrar

rng(1);
randperm(6)
randperm(10, 3)
x = [10 20 30 40];
x(randperm(4))
Saída
ans = 1×6

     3     6     5     4     1     2
ans = 1×3

     2     4     9
ans = 1×4

    40    20    10    30

Observações

A ordem produzida para uma dada semente pode diferir da que o MATLAB fornece.

Veja também

randi rand sort rng nchoosek