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

2 views (last 30 days)
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.

Accepted Answer

Matt J
Matt J on 22 Oct 2018
Edited: Matt J on 22 Oct 2018
Ar=A(:,randperm(12));
submatrix{1}=Ar(:,1:4);
submatrix{2}=Ar(:,5:8);
submatrix{3}=Ar(:,9:12);

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!