필터 지우기
필터 지우기

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

조회 수: 2 (최근 30일)
C Zeng
C Zeng 2012년 5월 24일
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
Sean de Wolski
Sean de Wolski 2012년 5월 24일
huh, your fullfact one is better anyway.
C Zeng
C Zeng 2012년 5월 25일
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.

댓글을 달려면 로그인하십시오.

채택된 답변

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

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Daniel Shub
Daniel Shub 2012년 5월 24일

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by