How do i select random indicies from an array?

1 Ansicht (letzte 30 Tage)
ME
ME am 5 Mär. 2015
Beantwortet: Image Analyst am 5 Mär. 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.

Akzeptierte Antwort

Image Analyst
Image Analyst am 5 Mär. 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.

Weitere Antworten (1)

Joseph Cheng
Joseph Cheng am 5 Mär. 2015
Bearbeitet: Joseph Cheng am 5 Mär. 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 Kommentare
Image Analyst
Image Analyst am 5 Mär. 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 am 5 Mär. 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

Melden Sie sich an, um zu kommentieren.

Tags

Community Treasure Hunt

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

Start Hunting!

Translated by