How to generate k unique random numbers from 1 to n in matlab 2009
2 views (last 30 days)
Show older comments
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
0 Comments
Accepted Answer
Azzi Abdelmalek
on 27 Apr 2013
[idx,idx]=sort(rand(1,n));
out=idx(1:k)
1 Comment
Jan
on 27 Apr 2013
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.
More Answers (2)
Jan
on 27 Apr 2013
Not biased and faster than sorting a RAND vector: http://www.mathworks.com/matlabcentral/fileexchange/27076-shuffle
0 Comments
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!