Borrar filtros
Borrar filtros

How to choose 2 people randomly among 12 ?

1 visualización (últimos 30 días)
Negar
Negar el 24 de Oct. de 2013
Comentada: Negar el 24 de Oct. de 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

Respuesta aceptada

Wayne King
Wayne King el 24 de Oct. de 2013
Editada: Wayne King el 24 de Oct. de 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 comentario
Negar
Negar el 24 de Oct. de 2013
Editada: Negar el 24 de Oct. de 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?

Iniciar sesión para comentar.

Más respuestas (1)

Wayne King
Wayne King el 24 de Oct. de 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);

Categorías

Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.

Community Treasure Hunt

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

Start Hunting!

Translated by