How to create all combinations of boolean vector possibilities?

31 visualizaciones (últimos 30 días)
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!

Respuesta aceptada

David Hill
David Hill el 8 de Feb. de 2022
Editada: David Hill el 8 de Feb. de 2022
x=1:2^5-1;
m=logical(dec2bin(x',5)-'0');
  1 comentario
Steven Lord
Steven Lord el 8 de Feb. de 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

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Help Center y File Exchange.

Productos


Versión

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by