MATLAB Answers

C Zeng

(Ask again)Show every combination of N-dim vector.

Asked by C Zeng
on 24 May 2012

Hello, I asked it the day before yesterday but the code some expert told does not work well.

He wrote:


However, it does show 3^N rows, but not every combination of N-dim vector of {0,1,2}. Is there another way to show all 3^N combinations and put it in a matrix?

Thank you so much!


@Sean you can double check your solution with unique(M, 'rows'), and it appears answers are repeated.

huh, your fullfact one is better anyway.

C Zeng
on 25 May 2012

Yes, Sean, your code gives 3^N rows, but they have repeated one. Also I do not understand what does it mean? It seems that it is going to construct a grid in graphics, right? But I want all factorial combinations.



No products are associated with this question.

2 Answers

Answer by Daniel Shub
on 24 May 2012
 Accepted answer

I will repeat the answer I gave to your original question

x = fullfact([3,3,3])-1


For a general N

N = 3;
x = fullfact(repmat(3, N, 1))-1


C Zeng
on 25 May 2012

Daniel, I am confused here, your full factorial design works for my purpose. I am asking whether I can set the dimension N, so I do not need to input 3 N times. repmat(3, N, 1) does not give what I want here. Can you advise?

See my edit.

C Zeng
on 25 May 2012

Oh, yes, or using combinator.m file:

Thank you so much!

Answer by Daniel Shub
on 24 May 2012


Join the 15-year community celebration.

Play games and win prizes!

Learn more
Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

MATLAB Academy

New to MATLAB?

Learn MATLAB today!