Constuctiing special array (like binary)

1 view (last 30 days)
Hi, I'am new to matlab and I want to make an nxn matrix containing as first row zeros and as last row ones. The other rows should be like binary digits.
Example with n=4:
0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
1111
Thank you!!
  2 Comments
Matt J
Matt J on 4 Dec 2013
The matrix you've shown is not nxn. It is 2^n x n.

Sign in to comment.

Accepted Answer

Matt J
Matt J on 4 Dec 2013
dec2bin(0:2^n-1)-'0'
  3 Comments
Matt J
Matt J on 19 Jan 2014
Edited: Matt J on 19 Jan 2014
More generally
m=5; n=3;
[c{1:n}]=ndgrid(1:m);
result=reshape( cat(n+1,c{end:-1:1}),m^n,n )

Sign in to comment.

More Answers (3)

Andrei Bobrov
Andrei Bobrov on 4 Dec 2013
Edited: Andrei Bobrov on 4 Dec 2013
rem(floor((0:pow2(n)-1)'*pow2(1-n:0)),2)

Dimitris Sideratos
Dimitris Sideratos on 19 Jan 2014
Can I extend this script to run with more than 2 values (0 or 1)?? I want m^n x n an the values should be 0,1.. m-1??
Thank you in advance!

Jos (10584)
Jos (10584) on 20 Jan 2014
Edited: Jos (10584) on 20 Jan 2014
Take a look at COMBN:
USe like this:
N = 2 ; M = 3 ;
combn(0:M-1,N)

Categories

Find more on Argument Definitions in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!