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.