Picking indices randomly

Suppose I have a binary vector B of size n. I'd like to randomly pick the indices with value 1. How would one go about doing this?

 Respuesta aceptada

Sean de Wolski
Sean de Wolski el 11 de Mayo de 2012

0 votos

idx1 = find(A==1);
idxkeep = randperm(numel(idx1),how_many_you_want);
idx12keep = idx1(idxkeep);

1 comentario

Walter Roberson
Walter Roberson el 11 de Mayo de 2012
Note: this requires R2011b or later (I think it is). Before that,
idx1 find(A==1);
idxkeep = randperm(numel(idx1));
idx12keep = idx1(idxkeep(1:how_many_you_want));

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Random Number Generation en Centro de ayuda y File Exchange.

Preguntada:

el 11 de Mayo de 2012

Community Treasure Hunt

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

Start Hunting!

Translated by