All possible combination based on 2^n

6 ビュー (過去 30 日間)
BeeTiaw
BeeTiaw 2021 年 5 月 14 日
編集済み: BeeTiaw 2021 年 5 月 14 日
I want to create a matrix containing all possible combination. Example of this is shown below. The size of the matrix depends on the number of variable n and the total of combination should follow the . The example below is valid for and, hence, the total number of rows is 8. The value of each element is 0 and 1.
How to create this matrix automatically depending on the number of variable n?

採用された回答

Stephen23
Stephen23 2021 年 5 月 14 日
編集済み: Stephen23 2021 年 5 月 14 日
n = 3;
m = dec2bin(0:pow2(n)-1)-'0' % limited precision
m = 8×3
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
Or
C = cell(1,n);
[C{:}] = ndgrid(0:1);
C = cellfun(@(a)a(:),C,'uni',0);
M = [C{:}]
M = 8×3
0 0 0 1 0 0 0 1 0 1 1 0 0 0 1 1 0 1 0 1 1 1 1 1
  1 件のコメント
BeeTiaw
BeeTiaw 2021 年 5 月 14 日
It works!

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

その他の回答 (3 件)

Dyuman Joshi
Dyuman Joshi 2021 年 5 月 14 日
y = flipud(dec2bin(0:2^n-1,n))-'0' %method 1
y = dec2bin(2^n-1:-1:0,n)-'0' %method 2
Choose any of the methods you wish, both give the same result.
P.S - There is a similar question in Cody as well.
  2 件のコメント
Dyuman Joshi
Dyuman Joshi 2021 年 5 月 14 日
I see that I am late to the party
BeeTiaw
BeeTiaw 2021 年 5 月 14 日
編集済み: BeeTiaw 2021 年 5 月 14 日
I have another question. Quite similar but the output will be slightly different.
https://uk.mathworks.com/matlabcentral/answers/829783-all-possible-combination-based-on-2-n-but-with-1-and-1

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


Stephan
Stephan 2021 年 5 月 14 日
n = 3
n = 3
ff2n(n)
ans = 8×3
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1
  1 件のコメント
Stephen23
Stephen23 2021 年 5 月 14 日
編集済み: Stephen23 2021 年 5 月 14 日
Note: requires the Statistics and Machine Learning Toolbox.

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


Bjorn Gustavsson
Bjorn Gustavsson 2021 年 5 月 14 日
You could use dec2bin:
allpossibles = dec2bin(0:(2^n-1));
You'll have to extract the indices from the columns but that should be "not hard". There's more than likely many prettier solutions, for example have a look on the file exchange for nextperm (by Jos) and next-combination-permutation (by Matt-Fig).
HTH

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by