How to create non-repetitive random integers

26 vues (au cours des 30 derniers jours)
Mohammad Monfared
Mohammad Monfared le 23 Avr 2012
Commenté : Dmitry Kaplan le 10 Août 2021
Hi,
As the title suggests I want to create non-repetitive random integers but don't know how to... say 70 integers ranging from 1 to 100. is there a straight way to do this?
thanks,

Réponse acceptée

Grzegorz Knor
Grzegorz Knor le 23 Avr 2012
Try this code:
N = 100;
x = randperm(N);
x = x(1:70)
  2 commentaires
Mohammad Monfared
Mohammad Monfared le 23 Avr 2012
thanks, first time to see this nice function ;)
Dmitry Kaplan
Dmitry Kaplan le 10 Août 2021
Another possibility (perhaps a little faster)
[~,idx]=sort(rand(100,1));
idx(1:70)

Connectez-vous pour commenter.

Plus de réponses (2)

Richard Brown
Richard Brown le 23 Avr 2012
randperm(100, 70)
  2 commentaires
Mohammad Monfared
Mohammad Monfared le 23 Avr 2012
thanks, I use matlab R2011a and the randperm doesn't accept two arguments.
Richard Brown
Richard Brown le 23 Avr 2012
ah yes, that came in at R2011b

Connectez-vous pour commenter.


Jan
Jan le 23 Avr 2012
And if you are in a hurry: FEX: Shuffle

Catégories

En savoir plus sur Logical dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by