Creating all possible combination of 0 and 1 in 2D array

40 views (last 30 days)
Let the size of 2D matrix is m (n rows, m cols).
How can I create all possible combinations of 0 and 1 in this matrix?

Answers (2)

the cyclist
the cyclist on 24 Dec 2019
% Example choice of m and n
n = 2;
m = 3;
allCombos = reshape(dec2bin(0:2^(n*m)-1)-'0',n,m,[]);
allCombos is a 3-dimensional m*n*X array, where each slice in the 3rd dimension is one of the possible matrices.
Note that if m and n get large, you will quickly run out of memory. Combinatorics is a cruel mistress.
  1 Comment
Luqman Saleem
Luqman Saleem on 25 Dec 2019
Hey, thank you for your answer. It gives all combinations indeed. But I don't need repeating configration, for examples, in above example there are 6 configrations that are all zero. How can I get only unique configrations?

Sign in to comment.

the cyclist
the cyclist on 25 Dec 2019
Did you mean you just want each possible unique row, rather than each possible unique matrix?
justRows = dec2bin(0:2^m-1)-'0'
where m is the number of columns.
If you mean something else, please give more info, because I can't think of any other interpretation of what you mean.

Community Treasure Hunt

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

Start Hunting!

Translated by