# Generating sets of non repeating random numbers

19 vues (au cours des 30 derniers jours)
Toluwani Adekunle le 8 Juil 2018
Commenté : Anton Semechko le 9 Juil 2018
Hi,
How do I create 10 sets of random numbers within a range such that after every set, the numbers previously generated can’t be repeated or generated again i.e if I generate [1,3,8,6] from the range [1:40] those numbers would be deleted from the range and can’t be generated again
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Réponse acceptée

dpb le 8 Juil 2018
Modifié(e) : dpb le 8 Juil 2018
>> ix=reshape(randperm(40),10,[])
ix =
35 23 21 40
26 17 8 36
38 5 27 18
20 10 11 9
30 33 24 28
16 25 34 15
3 12 32 7
19 37 14 13
31 4 1 2
29 39 6 22
>>
##### 0 commentairesAfficher -2 commentaires plus anciensMasquer -2 commentaires plus anciens

Connectez-vous pour commenter.

### Plus de réponses (1)

Anton Semechko le 8 Juil 2018
Here is an example:
S=reshape(randperm(40),[],4);
All elements in S will be in the range [1 40] and unique. From this it follows that all 10 rows of S will also be unique.
##### 2 commentairesAfficher AucuneMasquer Aucune
Toluwani Adekunle le 9 Juil 2018
Thanks, I have another question, what if the range of numbers I’m selecting from isn’t the same as the amount of sets I want to generate, i.e the range is 300 let’s say and I want a 27 by 9 matrix or the range is unknown
Anton Semechko le 9 Juil 2018
Same idea applies, but cutoff the extraneous samples before reshaping. Example for 300 range and 27-by-9 matrix.
S=S(1:(27*9));
S=reshape(S,27,9);

Connectez-vous pour commenter.

### Catégories

En savoir plus sur Random Number Generation dans Help Center et File Exchange

R2017b

### Community Treasure Hunt

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

Start Hunting!

Translated by