Creating groups of 2 people from a cell array of names

5 Ansichten (letzte 30 Tage)
Areesh Adil
Areesh Adil am 11 Mär. 2020
Kommentiert: Bhaskar R am 11 Mär. 2020
If I have a n x 1 cell array of names and want to create random 2-person groups out of the names without repeats so that I have a (n/2) x 2 cell array, how would I go about doing so? Just an idea on how to start or a hint would also be helpful.

Akzeptierte Antwort

the cyclist
the cyclist am 11 Mär. 2020
If C is your cell array, then
reshape(C(randperm(n)),n/2,2)

Weitere Antworten (1)

Bhaskar R
Bhaskar R am 11 Mär. 2020
n = 26;
x = cellstr(char([65:65+n-1]')); % your cell data assumed
rand_nums = reshape(randsample(n,n), n/2, 2); % random numbers
rand_cell = x(rand_nums);
  2 Kommentare
Areesh Adil
Areesh Adil am 11 Mär. 2020
Thank you. Could you explain what you did? I would like to learn what's happening rather than copying your code. But this is still super helpful nonetheless so thanks.
Bhaskar R
Bhaskar R am 11 Mär. 2020
i created a dummy cell data x which contains character data(A to Z characters each character is a cell). Then created random samples(unique random values) and reshaped as 2 pairs as you require there are random locations to extract data from x

Melden Sie sich an, um zu kommentieren.

Community Treasure Hunt

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

Start Hunting!

Translated by