How do I create a matrix with all binary combinations?

101 visualizzazioni (ultimi 30 giorni)
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.

Risposta accettata

the cyclist
the cyclist il 13 Mag 2020
There's an incredible obfuscated hack for this:
N = 4;
dec2bin(0:2^N-1)' - '0'
  1 Commento
Christian P
Christian P il 13 Mag 2020
Thanks to both of you, this worked like a charm! My N is usually less than 10, so memory shouldn't be a big problem :)

Accedi per commentare.

Più risposte (2)

Fangjun Jiang
Fangjun Jiang il 13 Mag 2020
I though it should be
ff2n(4)

James Tursa
James Tursa il 13 Mag 2020
Modificato: James Tursa il 13 Mag 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 Commenti
Voss
Voss il 1 Dic 2022
N = 4; % length
base = 3;
output = dec2base(0:base^N-1,base)-'0';
disp(output);
0 0 0 0 0 0 0 1 0 0 0 2 0 0 1 0 0 0 1 1 0 0 1 2 0 0 2 0 0 0 2 1 0 0 2 2 0 1 0 0 0 1 0 1 0 1 0 2 0 1 1 0 0 1 1 1 0 1 1 2 0 1 2 0 0 1 2 1 0 1 2 2 0 2 0 0 0 2 0 1 0 2 0 2 0 2 1 0 0 2 1 1 0 2 1 2 0 2 2 0 0 2 2 1 0 2 2 2 1 0 0 0 1 0 0 1 1 0 0 2 1 0 1 0 1 0 1 1 1 0 1 2 1 0 2 0 1 0 2 1 1 0 2 2 1 1 0 0 1 1 0 1 1 1 0 2 1 1 1 0 1 1 1 1 1 1 1 2 1 1 2 0 1 1 2 1 1 1 2 2 1 2 0 0 1 2 0 1 1 2 0 2 1 2 1 0 1 2 1 1 1 2 1 2 1 2 2 0 1 2 2 1 1 2 2 2 2 0 0 0 2 0 0 1 2 0 0 2 2 0 1 0 2 0 1 1 2 0 1 2 2 0 2 0 2 0 2 1 2 0 2 2 2 1 0 0 2 1 0 1 2 1 0 2 2 1 1 0 2 1 1 1 2 1 1 2 2 1 2 0 2 1 2 1 2 1 2 2 2 2 0 0 2 2 0 1 2 2 0 2 2 2 1 0 2 2 1 1 2 2 1 2 2 2 2 0 2 2 2 1 2 2 2 2

Accedi per commentare.

Prodotti


Release

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by