Asked by C Zeng
on 22 May 2012

Hello, I want to write a code to try every combination of a N-dimentional vector(with entry 0 or 1 or 2). For example, if N=3, all combinations are (0,0,0)(0,0,1)...(2,2,2) and there are 3^N=27.

One brutal way is for commands: for i=0:2->for j=... but I have to write N these for commands, which is not wise. I wonder it there a fast and smart way to try all combinations?

Thanks a lot!

*No products are associated with this question.*

Answer by Sean de Wolski
on 22 May 2012

Accepted answer

[xx yy zz] = ndgrid(0:2); [xx(:) yy(:) zz(:)]

**Generalized** (fixed)

n = 4 [C{1:n}] = ndgrid(0:2); for ii = n:-1:1 M(:,ii) = C{ii}(:); end

Show 6 older comments

Sean de Wolski
on 25 May 2012

Opportunities for recent engineering grads.

## 0 Comments