How do i select random indicies from an array?

1 visualización (últimos 30 días)
ME
ME el 5 de Mzo. de 2015
Respondida: Image Analyst el 5 de Mzo. de 2015
I have an array of 10 by 6. is there a way I can randomly select rows from this particular array and everything within it.

Respuesta aceptada

Image Analyst
Image Analyst el 5 de Mzo. de 2015
Let's say you have a 10-by-6 matrix m, and you want to select 7 rows at random and make sure there are no repeats. Do this:
m = randi(9, 10,6)
randomRows = randperm(size(m, 1), 7)
randomRows is the array of row numbers , not the actual 6 element rows themselves.

Más respuestas (1)

Joseph Cheng
Joseph Cheng el 5 de Mzo. de 2015
Editada: Joseph Cheng el 5 de Mzo. de 2015
yes, you can perform something like this. Lets say your 10 by 6 array is called A;
then to get the random row(s) you can do
A(randi(10,N,1),:)
where 10 is the number or rows in A (or you can do size(A,1) if you do not want to hard code 10), N is the number of random rows you want to select and the : selects all columns.
  2 comentarios
Image Analyst
Image Analyst el 5 de Mzo. de 2015
Just a watchout: With randi(), it's really random meaning that there is a possibility that the same row might be "chosen" twice or more. If you don't want that (you want, say, 5 rows and all rows to be unique), then use randperm() instead.
ME
ME el 5 de Mzo. de 2015
yes I am looking for unique rows Thank you for that. how would I save the randomised array into another array or even get the generated random results to be displayed... sorry I am new to this

Iniciar sesión para comentar.

Categorías

Más información sobre Logical en Help Center y File Exchange.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by