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

1 view (last 30 days)
Hello, I asked it the day before yesterday but the code some expert told does not work well.
He wrote:
[C{1:N}]=ndgrid(0:2);
M=reshape(vertcat(C{:}),[],N);
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!
  5 Comments
Sean de Wolski
Sean de Wolski on 24 May 2012
huh, your fullfact one is better anyway.
C Zeng
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.

Sign in to comment.

Accepted Answer

Daniel Shub
Daniel Shub on 24 May 2012
I will repeat the answer I gave to your original question
x = fullfact([3,3,3])-1
EDIT
For a general N
N = 3;
x = fullfact(repmat(3, N, 1))-1
  9 Comments
C Zeng
C Zeng on 25 May 2012
Oh, yes, or using combinator.m file:
combinator(3,N)-1
Thank you so much!

Sign in to comment.

More Answers (1)

Daniel Shub
Daniel Shub on 24 May 2012

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!