我编写了一个代码来生成一个包含四列的矩阵,以获得总和等于9的所有数字组合,每个数字从0到9不等.
m = zeros(220, 4);
pd = 9;
i = 1;
for p = 0:1:pd
for q = 0:1:pd-p
for a = 0:1:pd-q-p
m(i,:) = [p, q, a, pd-a-q-p];
i = i+1;
end
end
end
m
现在我想过滤数组没有零,一个零,两个零,三个零.喜欢,
三零情况
0 0 0 9
两个零的情况
0 0 1 8
0 0 2 7
.
.
0 0 8 1
一个零例
0 1 1 7
0 1 2 6
.
.
.
0 7 1 1
并且没有零情况
1 1 1 6
1 1 2 5
.
.
6 1 1 1
等等..
有任何建议或任何替代方法吗?
更新:
0 0 0 9
0 0 1 8
0 0 2 7
.
.
0 0 8 1
0 1 1 7
0 1 2 6
.
.
.
0 7 1 1
1 1 1 6
1 1 2 5
.
.
6 1 1 1
有什么建议以上述顺序获得矩阵?