How to randomly select 2 rows

4 ビュー (過去 30 日間)
lech king
lech king 2020 年 10 月 5 日
編集済み: lech king 2020 年 10 月 5 日
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

回答 (2 件)

Ameer Hamza
Ameer Hamza 2020 年 10 月 5 日
編集済み: Ameer Hamza 2020 年 10 月 5 日
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 2020 年 10 月 5 日
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),:);

カテゴリ

Help Center および File ExchangeCreating and Concatenating Matrices についてさらに検索

タグ

製品


リリース

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by