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?

 Réponse acceptée

Sean de Wolski
Sean de Wolski le 11 Mai 2012

0 votes

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

1 commentaire

Walter Roberson
Walter Roberson le 11 Mai 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));

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Random Number Generation dans Centre d'aide et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by