Randomly pair two sets of integers, without repeating the first set?

I have two sets of integers, Set 1: (1,2,3,...,32) and Set 2: (33,34,35,...,40). That is, Set 1 has 32 items and Set 2 has 8 items.
I would like to pair the items in Set 1 to those in Set 2, such at each item in Set 1 is randomly paired to any of the 8 items in Set 2. This means the items in Set 2 can be repeated, but items in Set 1 are not repeated. And I want them to be paired in a random sequence as well.
Example: 3 paired with 35, 30 paired with 33, 18 paired with 40, 10 paired with 33 (33 can be repeated), etc... until a random sequence is generated where all 32 items in Set 1 are paired.
How can I do this? I know I should be using randperm somewhere.
Thank you so much in advance!

 Akzeptierte Antwort

Roger Stafford
Roger Stafford am 13 Okt. 2017
Bearbeitet: Roger Stafford am 13 Okt. 2017
M = [reshape(set1(randperm(32)),[],1),set2(randi(8,32,1))];

1 Kommentar

thank you, sir, although for some reason I had to remove the "set1" and "set2" and their accompanying parentheses for it to work.
now I would like to create 50 of such sequences, and save them as separate variables. could you tell me how to do it? I think you have to use looping (for... end)?
thank you!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Random Number Generation finden Sie in Hilfe-Center und File Exchange

Produkte

Community Treasure Hunt

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

Start Hunting!

Translated by