комбинации на общую сумму
Как можно было бы генерировать матрицу со всеми возможными комбинациями чисел, составляющими сумму с повторением?
В основном, комбинации,x1
x2
x3
такой что.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
должно сделать это возможным, но я нене знаю, как это сделать.
С уважением