フィルターのクリア

How to get a random 50x14 matrix from 300x14 matrix

1 回表示 (過去 30 日間)
Amirali AGHAMIRI
Amirali AGHAMIRI 2022 年 3 月 27 日
コメント済み: Amirali AGHAMIRI 2022 年 3 月 28 日
Hello,
Could you please tell me how to get a random 50x14 matrix from 300x14 matrix?
  4 件のコメント
Scott MacKenzie
Scott MacKenzie 2022 年 3 月 27 日
@Amirali AGHAMIRI, @Torsten has posted an answer. Perhaps that is what you are after
Amirali AGHAMIRI
Amirali AGHAMIRI 2022 年 3 月 28 日
Thanks.

サインインしてコメントする。

採用された回答

Image Analyst
Image Analyst 2022 年 3 月 27 日
Perhaps this, if you want all 50 rows to be adjacent to each other and not randomly chosen.
% Define matrix.
m = randi(9, 300, 14)
% Get starting and ending rows
startingRow = randi(size(m, 1)-49, 1, 1)
endingRow = startingRow + 49
% Extract a band of 50 contiguous rows
m50 = m(startingRow : endingRow, :);
  3 件のコメント
Image Analyst
Image Analyst 2022 年 3 月 28 日
So just delete the first line where I created an m. I just did that because you keep forgetting to attach your actual matrix in a .mat file with the paperclip icon.
% Get starting and ending rows
startingRow = randi(300-49, 1, 1)
startingRow = 207
endingRow = startingRow + 49
endingRow = 256
As you can see above when I ran it, it would take all rows between 207 and 256 of your original matrix and extract them to a new matrix called m50. Why do you think that will not work for your matrix?
Amirali AGHAMIRI
Amirali AGHAMIRI 2022 年 3 月 28 日
Thanks, it works.

サインインしてコメントする。

その他の回答 (1 件)

Torsten
Torsten 2022 年 3 月 27 日
編集済み: Torsten 2022 年 3 月 27 日
A = rand(300,14);
p = randperm(300,50);
B = A(p,:)

カテゴリ

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

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by