комбинации на общую сумму

Как можно было бы генерировать матрицу со всеми возможными комбинациями чисел, составляющими сумму с повторением?

В основном, комбинации,x1x2x3 такой что.x1 + x2 + x3 = n

Например:n =3

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

Есть ли простой способ сделать это, используя предопределенные функции Matlab?

Я старался

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

что дает мне

 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

Как извлечь все строки, которые имеют общее значениеn? Я думаю, что линейное индексирование илиfind должно сделать это возможным, но я нене знаю, как это сделать.

С уважением

Ответы на вопрос(5)

Ваш ответ на вопрос