How could I randomly split the columns of a matrix into 3 matrices with equal number of columns?

3 ビュー (過去 30 日間)
Hi everyone,
I would like to ask if there is a way to split a matrix A, with dimensions (100 x 12) into three sub-matrices with dimensions 100 x 4 each. The splitting should be random. For example, sub-matrix B = [A(:,1) A(:,5) A(:,6) A(:,11)], but the elements of the B cannot be included in any of the other sub-matrices. For instance, a potential outcome of sub-matrix C could be C=[A(:,3) A(:,8) A(:,10) A(:,12)] and D=[A(:,2) A(:,4) A(:,7) A(:,9)]. As an extension of the question, ideally, I would like to get different sub-matrices every time I iterate the experiment.

採用された回答

Matt J
Matt J 2018 年 10 月 22 日
編集済み: Matt J 2018 年 10 月 22 日
Ar=A(:,randperm(12));
submatrix{1}=Ar(:,1:4);
submatrix{2}=Ar(:,5:8);
submatrix{3}=Ar(:,9:12);
  2 件のコメント
gsourop
gsourop 2018 年 10 月 22 日
編集済み: gsourop 2018 年 10 月 22 日
The submatrix should be submatrix{3}=Ar(:,9:12), right?
Matt J
Matt J 2018 年 10 月 22 日
Yes, you're right. I fixed it.

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

その他の回答 (0 件)

カテゴリ

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