Creating groups of 2 people from a cell array of names

3 ビュー (過去 30 日間)
Areesh Adil
Areesh Adil 2020 年 3 月 11 日
コメント済み: Bhaskar R 2020 年 3 月 11 日
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.

採用された回答

the cyclist
the cyclist 2020 年 3 月 11 日
If C is your cell array, then
reshape(C(randperm(n)),n/2,2)

その他の回答 (1 件)

Bhaskar R
Bhaskar R 2020 年 3 月 11 日
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 件のコメント
Areesh Adil
Areesh Adil 2020 年 3 月 11 日
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 2020 年 3 月 11 日
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

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by