perms
Todas as permutações dos elementos de um vetor.
Categoria: Mathematics > Elementary Math
Sintaxe
P = perms(v)
Retorna todas as ordenações dos elementos de v, uma por linha.
Descrição
As linhas saem em ordem lexicográfica reversa das posições: a primeira linha é v invertido e a última é o próprio v. O número de linhas cresce como n!, então perms(1:10) já tem 3.628.800 linhas e perms(1:12) é grande demais para a memória.
Como valores repetidos contam como diferentes, perms([1 1 2]) tem 6 linhas com duplicatas; aplique unique(..., 'rows') para removê-las.
Argumentos de entrada
v- Vetor de números, caracteres ou outros valores. Valores repetidos são tratados como distintos.
Argumentos de saída
P- Matriz com
factorial(numel(v))linhas enumel(v)colunas, da mesma classe dev. Um vetor char dá uma matriz char.
Exemplo
Números e caracteres
perms([1 2 3])
perms('abc')
Saída
ans = 6×3
3 2 1
3 1 2
2 3 1
2 1 3
1 3 2
1 2 3
ans = 6×3 char array
'cba'
'cab'
'bca'
'bac'
'acb'
'abc'