How to choose 2 people randomly among 12 ?

1 次查看(过去 30 天)
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);

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by