How can I randomly select a row from a matrix?
6 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Graeme
am 17 Jun. 2013
Kommentiert: Sushmita kumari
am 11 Feb. 2022
I have a matrix (m) that is 17543 x 17. The values are of the type double.
I want to randomly select 1 row from this matrix and save it as a new vector.
I tried this:
mrow = m(randsample(m:17543,1),:)
This works if the values are integers but it does not work because they are doubles.
It returns the error message:
"Subscript indices must either be real positive integers or logicals."
Any help would be really appreciated.
Thanks,
Graeme
1 Kommentar
chaitra kn
am 17 Aug. 2019
this is for to select only first row,how can i select more than one random rows in two 2 matrix.
please help me out
Akzeptierte Antwort
Evan
am 17 Jun. 2013
Bearbeitet: Evan
am 17 Jun. 2013
Try this:
ind = ceil(rand * size(m,1));
mrow = m(ind,:);
5 Kommentare
Sushmita kumari
am 11 Feb. 2022
i i wish to find a coloum insted of row .please suggest sutable code
Weitere Antworten (2)
Jonathan Sullivan
am 17 Jun. 2013
Try using randi
Example
randomRow = m(randi(size(m,1)),:);
0 Kommentare
Wayne King
am 17 Jun. 2013
Bearbeitet: Wayne King
am 17 Jun. 2013
m = randn(17543,17);
idx = randperm(size(m,1),1);
B = m(idx,:);
idx tells you which row you randomly selected.
If you have an older version of MATLAB where the above does not work do:
m = randn(17543,17);
idx = randperm(size(m,1),1);
B = m(idx(1),:);
0 Kommentare
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!