How do I create a matrix with all binary combinations?
29 views (last 30 days)
Show older comments
Christian P
on 13 May 2020
Commented: Pranay Agarwal
on 2 Dec 2022
Hi
I want to create a matrix with all binary combinations. If N is the length of the binary code, there would be
possible combinations. Below are
, and the 16 possible binary combinations are displayed.
1 1 1 1 1 1 1 1 0 0 0 0 0 0 0 0
1 1 1 1 0 0 0 0 1 1 1 1 0 0 0 0
1 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
How can I create such a matrix automatically? I don't really care which order they are in, as long as every combination is present, and N is a variable.
Thanks in advance.
0 Comments
Accepted Answer
the cyclist
on 13 May 2020
There's an incredible obfuscated hack for this:
N = 4;
dec2bin(0:2^N-1)' - '0'
More Answers (2)
James Tursa
on 13 May 2020
Edited: James Tursa
on 13 May 2020
dec2bin(0:2^N-1) - '0'
Note that this is only practical for relatively small values of N. Even moderatly large N can cause this to exceed your available memory.
5 Comments
Voss
on 1 Dec 2022
N = 4; % length
base = 3;
output = dec2base(0:base^N-1,base)-'0';
disp(output);
See Also
Categories
Find more on Creating and Concatenating Matrices 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!