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

1 visualización (últimos 30 días)
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

Respuesta aceptada

Azzi Abdelmalek
Azzi Abdelmalek el 27 de Abr. de 2013
[idx,idx]=sort(rand(1,n));
out=idx(1:k)
  1 comentario
Jan
Jan el 27 de Abr. de 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.

Iniciar sesión para comentar.

Más respuestas (2)

Zhang lu
Zhang lu el 27 de Abr. de 2013
a=randperm(n); b=a(1:k)

Jan
Jan el 27 de Abr. de 2013
Not biased and faster than sorting a RAND vector: http://www.mathworks.com/matlabcentral/fileexchange/27076-shuffle

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by