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

1 Ansicht (letzte 30 Tage)
C Zeng
C Zeng am 24 Mai 2012
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 Kommentare
Sean de Wolski
Sean de Wolski am 24 Mai 2012
huh, your fullfact one is better anyway.
C Zeng
C Zeng am 25 Mai 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.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Daniel Shub
Daniel Shub am 24 Mai 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 Kommentare
Daniel Shub
Daniel Shub am 25 Mai 2012
See my edit.
C Zeng
C Zeng am 25 Mai 2012
Oh, yes, or using combinator.m file:
combinator(3,N)-1
Thank you so much!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (1)

Daniel Shub
Daniel Shub am 24 Mai 2012

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by