How to create all combinations of boolean vector possibilities?

18 visualizzazioni (ultimi 30 giorni)
Some background for the problem - I have 5 situations that can happen independently of the other situations. I want to create a matrix with rows that look like [1 0 0 0 0] , [1 1 0 0 0], etc. where the rows will be 2^5-1 since the vector [0 0 0 0 0] doesn't matter. The boolean logic 1 means that the situation has occured, 0 means the situation has not occured. Is there a way to easily create this matrix? Please let me know if any further clarification is needed. Thank you for the help!

Risposta accettata

David Hill
David Hill il 8 Feb 2022
Modificato: David Hill il 8 Feb 2022
x=1:2^5-1;
m=logical(dec2bin(x',5)-'0');
  1 Commento
Steven Lord
Steven Lord il 8 Feb 2022
Instead of explicitly calling logical you could use the == operator.
x = 1:2^5-1;
m = dec2bin(x', 5) == '1'
m = 31×5 logical array
0 0 0 0 1 0 0 0 1 0 0 0 0 1 1 0 0 1 0 0 0 0 1 0 1 0 0 1 1 0 0 0 1 1 1 0 1 0 0 0 0 1 0 0 1 0 1 0 1 0

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Loops and Conditional Statements in Help Center e File Exchange

Prodotti


Release

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by