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?

 採用された回答

Sean de Wolski
Sean de Wolski 2012 年 5 月 11 日

0 投票

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

1 件のコメント

Walter Roberson
Walter Roberson 2012 年 5 月 11 日
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));

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeRandom Number Generation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by