'combnk' enumeration of combinations

6 次查看(过去 30 天)
Hi,
If I use 'combnk' in a all positive region, it gives me all the possible combinations.
>> c = combnk(1:3,2)
c =
1 2
1 3
2 3
However, if I use 'combnk' in a negative-to-positive region, it only gives me one combination.
>> c = combnk(-1:1,3)
c =
-1 0 1
What I really like to obtain is something below with all the combinations.
-1 -1 -1
-1 -1 0
-1 -1 1
-1 0 -1
-1 0 0
-1 0 1
-1 1 -1
-1 1 0
-1 1 1
0 -1 -1
0 -1 0
0 -1 1
0 0 -1
0 0 0
0 0 1
0 1 -1
0 1 0
0 1 1
1 -1 -1
1 -1 0
1 -1 1
1 0 -1
1 0 0
1 0 1
1 1 -1
1 1 0
1 1 1
How to achieve it? Should I not use 'combnk' but something else instead?
Please can you help?

采纳的回答

Stephen23
Stephen23 2020-1-7
>> [X,Y,Z] = ndgrid([-1,0,1]);
>> M = [Z(:),Y(:),X(:)]
M =
-1 -1 -1
-1 -1 0
-1 -1 1
-1 0 -1
-1 0 0
-1 0 1
-1 1 -1
-1 1 0
-1 1 1
0 -1 -1
0 -1 0
0 -1 1
0 0 -1
0 0 0
0 0 1
0 1 -1
0 1 0
0 1 1
1 -1 -1
1 -1 0
1 -1 1
1 0 -1
1 0 0
1 0 1
1 1 -1
1 1 0
1 1 1

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Whos 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by