Gerando todas as combinações com repetição usando o MATLAB
Como crio tudocombinações k com repetições de um determinado conjunto (também chamadok-multicombinações oumultisubsets) usando o MATLAB?
Isso é semelhante ao produto cartesiano, mas duas linhas que diferem apenas por sua classificação devem ser consideradas iguais (por exemplo, os vetores[1,1,2]=~=[1,2,1]
são considerados iguais), gerando o produto cartesiano e aplicandounique(sort(cartesianProduct,2),'rows')
deve produzir os mesmos resultados.
Exemplo: A chamadanmultichoosek(1:n,k)
deve gerar a seguinte matriz:
nmultichoosek(1:3,3)
ans =
1 1 1
1 1 2
1 1 3
1 2 2
1 2 3
1 3 3
2 2 2
2 2 3
2 3 3
3 3 3