How do I create a matrix with all binary combinations?

29 ビュー (過去 30 日間)
Christian P
Christian P 2020 年 5 月 13 日
コメント済み: Pranay Agarwal 2022 年 12 月 2 日
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.

採用された回答

the cyclist
the cyclist 2020 年 5 月 13 日
There's an incredible obfuscated hack for this:
N = 4;
dec2bin(0:2^N-1)' - '0'
  1 件のコメント
Christian P
Christian P 2020 年 5 月 13 日
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 :)

サインインしてコメントする。

その他の回答 (2 件)

Fangjun Jiang
Fangjun Jiang 2020 年 5 月 13 日
I though it should be
ff2n(4)
  2 件のコメント
Christian P
Christian P 2020 年 5 月 13 日
This also worked, thanks :)
Fangjun Jiang
Fangjun Jiang 2020 年 5 月 14 日
ff2n, Two-level full-factorial design, is built for this.

サインインしてコメントする。


James Tursa
James Tursa 2020 年 5 月 13 日
編集済み: James Tursa 2020 年 5 月 13 日
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 件のコメント
Voss
Voss 2022 年 12 月 1 日
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
Pranay Agarwal
Pranay Agarwal 2022 年 12 月 2 日
Thanks a lot....

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

製品


リリース

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by