MATLAB Answers


(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.

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.

Log in to comment.


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


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?

Oh, yes, or using combinator.m file:

Thank you so much!

Log in to comment.

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today