How to choose 2 people randomly among 12 ?

1 view (last 30 days)
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

Accepted Answer

Wayne King
Wayne King on 24 Oct 2013
Edited: Wayne King on 24 Oct 2013
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 Comment
Negar
Negar on 24 Oct 2013
Edited: Negar on 24 Oct 2013
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?

Sign in to comment.

More Answers (1)

Wayne King
Wayne King on 24 Oct 2013
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);

Categories

Find more on Random Number Generation in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!