フィルターのクリア

How to generate k unique random numbers from 1 to n in matlab 2009

1 回表示 (過去 30 日間)
chanukya
chanukya 2013 年 4 月 27 日
Hi, I knew randperm(n,k) works but this is after 2011. Can some one tell me if there is any efficient way to do it in matlab 2009.
Thanks

採用された回答

Azzi Abdelmalek
Azzi Abdelmalek 2013 年 4 月 27 日
[idx,idx]=sort(rand(1,n));
out=idx(1:k)
  1 件のコメント
Jan
Jan 2013 年 4 月 27 日
The result is biased, because Matlab's sort is stable. The effects are very tiny and they appear in Matlab's randperm function with 1 input argument also.

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

その他の回答 (2 件)

Zhang lu
Zhang lu 2013 年 4 月 27 日
a=randperm(n); b=a(1:k)

Jan
Jan 2013 年 4 月 27 日
Not biased and faster than sorting a RAND vector: http://www.mathworks.com/matlabcentral/fileexchange/27076-shuffle

カテゴリ

Help Center および File ExchangeSparse Matrices についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by