How to randomly select 2 rows
1 view (last 30 days)
Show older comments
Hi
I want to randomly select 2 rows of a matrix
The matrix may have an odd number of rows
How to randomly select these 2 rows
for example
Random numbers are inside the variable B
Select the rows accordingly with the numbers in the random variable
B=randperm(19)
No duplicate rows
In other words, if a row is selected, it will no longer be selected
Thanks for your guidance
0 Comments
Answers (2)
Ameer Hamza
on 5 Oct 2020
Edited: Ameer Hamza
on 5 Oct 2020
You can use the output of randperm as index
M = rand(10, 5); % random matrix
rows = randperm(size(M,1), 2)
M_new = M(rows, :)
0 Comments
Andreas Bernatzky
on 5 Oct 2020
This would be my solution:
myMat = rand(10,50);
[nRow,~] = size(myMat);
randomRows = round((nRow - 1).*rand(2,1) + 1); % from 1 to nRow
firstRandomRow = myMat(randomRows(1),:);
secondRandomRow = myMat(randomRows(2),:);
0 Comments
See Also
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!