combinações totalizando para somar

Como alguém geraria uma matriz com todas as combinações possíveis de número totalizando uma soma com repetição?

Basicamente, combinações dex1, x2, x3 de tal modo quex1 + x2 + x3 = n.

Por exemplo:n =3

0 1 2 
0 2 1
1 0 2
1 2 0
1 1 1

Existe uma maneira simples de fazer isso usando funções Matlab predefinidas?

eu tentei

n=6;
nchoosek(0:n,3)

o que me dá

 0     1     2
 0     1     3
 0     1     4
 0     1     5
 0     1     6
 0     2     3
 0     2     4
 0     2     5
 0     2     6
 0     3     4
 0     3     5
 0     3     6
 0     4     5
 0     4     6
 0     5     6
 1     2     3
 1     2     4
 1     2     5
 1     2     6
 1     3     4
 1     3     5
 1     3     6
 1     4     5
 1     4     6
 1     5     6
 2     3     4
 2     3     5
 2     3     6
 2     4     5
 2     4     6
 2     5     6
 3     4     5
 3     4     6
 3     5     6
 4     5     6

Como extrair todas as linhas que têm o total igual an? Eu acho que indexação linear oufind deve tornar isso possível, mas não sei como fazer isso.

Saudações

questionAnswers(5)

yourAnswerToTheQuestion