'combnk' enumeration of combinations

조회 수: 7 (최근 30일)
Salad Box
Salad Box 2020년 1월 7일
답변: Stephen23 2020년 1월 7일
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에서 Logical에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by