作为起点,您可以存储函数'perms'的输出是一个小区阵列,其中kth小区单元包含kth列的所有可能的排列。例如:
清除全部
CLC.
a = [1 2 3; 4 5 6; 7 8 9];
p =单元格(1,尺寸(a,1));
为了k = 1:尺寸(a,1)
p {k} = perms(a(:,k))';
结尾
DISP('p {1}')
disp(p {1})
DISP('p {2}')
disp(p {2})
DISP('p {3}')
disp(p {3})
这给了这个:
p {1}
7 7 4 4 1 1
4 1 7 1 4 7
1 4 1 7 7 4
p {2}
8 8 5 5 2 2
5 2 8 2 5 8
2 5 2 8 8 5
p {3}
9 9 6 6 3 3 3
6 3 9 3 6 9
3 6 3 9 9 6
然后,您可以实现一个循环,您可以在其中拍摄每个列P {1},并获取与P {2},P {3}的列的可能组合。这可能是一个内置的功能,但我不知道抱歉。我希望能帮助!