Pick a random column according to specific class data

1 ビュー (過去 30 日間)
Yousif Alaraji
Yousif Alaraji 2023 年 3 月 25 日
コメント済み: Image Analyst 2023 年 3 月 27 日
I have matrix lets say
1 1 2 2 3 3 4 4
5 8 3 7 2 8 3 9
4 6 8 2 3 4 6 7
2 3 6 7 3 4 6 8
I want to randomly pick columns from each first row class [1 2 3 4]

回答 (1 件)

Image Analyst
Image Analyst 2023 年 3 月 25 日
Try randi
A = [...
1 1 2 2 3 3 4 4
5 8 3 7 2 8 3 9
4 6 8 2 3 4 6 7
2 3 6 7 3 4 6 8];
[rows, columns] = size(A);
% Get random column indexes
randomColumns = randi(columns, rows, 1)
randomColumns = 4×1
2 1 5 7
% Get values of A there
randomValues = zeros(rows, 1);
for row = 1 : rows
randomValues(row) = A(row, randomColumns(row));
end
randomValues
randomValues = 4×1
1 5 3 6
  2 件のコメント
Image Analyst
Image Analyst 2023 年 3 月 27 日
Not sure what you're asking. I thought I answered it but maybe you want unique.

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

Community Treasure Hunt

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

Start Hunting!

Translated by