Create matrix indicating combinations of dummy variables

1 view (last 30 days)
I have eight dummy variables (0-1 variables). I need to find all the possible combinations of these variables.
For example, v1-v8 are 0-1 variables and I want to the following result.
[0 0 0 0 0 0 0 0;
1 0 0 0 0 0 0 0;
0 1 0 0 0 0 0 0;
0 0 1 0 0 0 0 0;
0 0 0 1 0 0 0 0;
......
1 1 1 1 1 1 1 1]
Therefore, this matrix should be a 256*8 matrix.
I am very new to MATLAB and do not know how to generate matrix using loop. Thanks for help!

Accepted Answer

James Tursa
James Tursa on 19 Sep 2019
Edited: James Tursa on 19 Sep 2019
Variations of this technique are often used, but this can exceed your memory if n gets too large:
n = 8;
result = dec2bin(0:2^n-1) - '0'; % the - '0' turns the dec2bin result into a double

More Answers (0)

Products


Release

R2016a

Community Treasure Hunt

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

Start Hunting!