How to make combinations of given condition?

1 visualización (últimos 30 días)
C Zeng
C Zeng el 28 de Dic. de 2012
Hi, all,
For example, if I want to make all combination of 5-dim vectors have only 2 two's, other entries are all 0. Is there a command in Matlab can do it? That is 22000 20200 20020 20002 02200 02020 02002 00220 00202 00022
Thanks.

Respuesta aceptada

Andrei Bobrov
Andrei Bobrov el 28 de Dic. de 2012
Editada: Andrei Bobrov el 28 de Dic. de 2012
k = dec2bin(0:sum(pow2(0:4)))-'0';
out = 2*k(sum(k,2) == 2,:);
  1 comentario
C Zeng
C Zeng el 28 de Dic. de 2012
Andrei, thanks, can you explain?
Actually I want all other entries to be 1. Is there a way to do it easily?
I tried your code, it works here though not understood here. :-(

Iniciar sesión para comentar.

Más respuestas (1)

Roger Stafford
Roger Stafford el 28 de Dic. de 2012
This is a problem for matlab's 'nchoosek' function.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by