How to randomly select 2 rows

4 Ansichten (letzte 30 Tage)
lech king
lech king am 5 Okt. 2020
Bearbeitet: lech king am 5 Okt. 2020
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

Antworten (2)

Ameer Hamza
Ameer Hamza am 5 Okt. 2020
Bearbeitet: Ameer Hamza am 5 Okt. 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, :)

Andreas Bernatzky
Andreas Bernatzky am 5 Okt. 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),:);

Kategorien

Mehr zu Creating and Concatenating Matrices finden Sie in Help Center und File Exchange

Produkte


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by