How to choose 2 people randomly among 12 ?

1 vue (au cours des 30 derniers jours)
Negar
Negar le 24 Oct 2013
Commenté : Negar le 24 Oct 2013
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

Réponse acceptée

Wayne King
Wayne King le 24 Oct 2013
Modifié(e) : Wayne King le 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 commentaire
Negar
Negar le 24 Oct 2013
Modifié(e) : Negar le 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?

Connectez-vous pour commenter.

Plus de réponses (1)

Wayne King
Wayne King le 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);
  1 commentaire
Negar
Negar le 24 Oct 2013
Thank you again ! :)

Connectez-vous pour commenter.

Catégories

En savoir plus sur Random Number Generation dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by