How can I randomly select a row from a matrix?
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaire
chaitra kn
le 17 Août 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
Réponse acceptée
Plus de réponses (2)
Jonathan Sullivan
le 17 Juin 2013
Try using randi
Example
randomRow = m(randi(size(m,1)),:);
0 commentaires
Wayne King
le 17 Juin 2013
Modifié(e) : Wayne King
le 17 Juin 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 commentaires
Voir également
Catégories
En savoir plus sur Logical dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!