MATLAB Answers

How can I obtain the permutation of 3 binary variables?

5 views (last 30 days)
Matteo Masto
Matteo Masto on 22 Sep 2021
Commented: Rik on 22 Sep 2021
Hi everyone!
Can anybody tell me how to obtain the classical permutation matrix of binary variables?
for example given n=3 boolean variables A B C:
ABC
000
001
010
011
100
101
110
111
I hope there would be a command for this.
thank you!!

Accepted Answer

Rik
Rik on 22 Sep 2021
The easiest way to do this is with bin2dec. You can loop from 0 to 2^n-1 to get all combinations. To convert the character array back to a numeric vector you can simply use =='1'.
  4 Comments
Rik
Rik on 22 Sep 2021
str2num is not a fix, it introduces a call to eval, which is completely unnecessary. Comparing to '1' will already convert to a numeric vector. You can also pass a vector to dec2bin:
n=3;
str=dec2bin(0:2^n-1,n);
H= str=='1';
disp(H)
0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!