How do I create an array of randomized pairs of numbers?
1 view (last 30 days)
Show older comments
Nicholas Morgan
on 4 Mar 2018
Commented: Walter Roberson
on 5 Mar 2018
So I am working on creating a version of the memory card game where you have say a 4x4 array of tiles, and each one has a matching pair within the array. I am using 8 different colors and 2 tiles for each color. How could I create a random 4x4 array that would only contain the numbers 1 through 8 but each one only 2 times? I assume I'd use randi. I know my title is quite confusing but I couldn't think of an easier description without telling why I needed it. Thank you!
0 Comments
Accepted Answer
Walter Roberson
on 4 Mar 2018
Edited: Walter Roberson
on 4 Mar 2018
tiles = [1:8, 1:8];
tiles = reshape( tiles(randperm(length(tiles))), 4, 4);
3 Comments
Prabha Kumaresan
on 5 Mar 2018
it doesnt give me the result which i actually need Say for example if there are 30 users needs to be grouped such that each group should contain only 2 users and users present in one group should not be present in another group.
Walter Roberson
on 5 Mar 2018
Prabha Kumaresan:
Numusers = 30;
group_numbers = [1:Numusers/2, 1:Numusers/2];
group_for_user = group_numbers( randperm(NumUsers) );
Each group number will be used exactly twice. group_for_user will be a vector of which group number each user belongs to, and it is impossible for any user to be present in multiple groups because there is only one group number allocated for each user.
More Answers (0)
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!