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)

Community Treasure Hunt

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

Start Hunting!