How to choose 2 people randomly among 12 ?

1 回表示 (過去 30 日間)
Negar
Negar 2013 年 10 月 24 日
コメント済み: Negar 2013 年 10 月 24 日
Hi all,
Here is my question: I have a group of 12 peoples, Now I want to make a mini group by picking 2 of them by random. I've somehow done that, but the problem is that I want the result to be shown as a 2x1 vector, and not 2x2 matrix .
Here is my code:
Group={'ae','bk','cn','es','fh','hv','mh','ol','sd','sg','ss','ts'}; m=randi([1 12],2,1) % A 2x1 array of random numbers between 1 and 12 Minigroup=[Group{m(1)} ; Group{m(2)}]
As you see, size of the Minigroup is 2x2 . Any suggestions?
Thank you

採用された回答

Wayne King
Wayne King 2013 年 10 月 24 日
編集済み: Wayne King 2013 年 10 月 24 日
Group={'ae','bk','cn','es','fh','hv','mh','ol','sd','sg','ss','ts'};
idx = randperm(12,2);
Group{idx}
I think you want to use randperm() instead of randi(), because randi() can give you the same index twice and presumably you want two different people.
  1 件のコメント
Negar
Negar 2013 年 10 月 24 日
編集済み: Negar 2013 年 10 月 24 日
Thank you for the randperm, you are absolutely right ! :)
And another thing, how can I remove these two persons from my category and make a new group excluding them?

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

その他の回答 (1 件)

Wayne King
Wayne King 2013 年 10 月 24 日
Group={'ae','bk','cn','es','fh','hv','mh','ol','sd','sg','ss','ts'};
idx = randperm(12,2);
ind = setdiff(1:length(Group),idx);
GroupNew = Group(ind);
  1 件のコメント
Negar
Negar 2013 年 10 月 24 日
Thank you again ! :)

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

カテゴリ

Help Center および File ExchangeRandom Number Generation についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by