Dividing matrix in four parts

1 view (last 30 days)
Maryam Hamrahi
Maryam Hamrahi on 27 Jun 2016
Commented: Maryam Hamrahi on 27 Jun 2016
I have a matrix with three columns and n rows.
I would like to produce four matrices with three columns and different rows. it is not important that matrices do not have the same rows.
For instance:
A has 210 rows.
I want to have B with 40 rows, C with 60 rows, D with 30 rows, and E with 80 rows.
Thanks a lot for help.

Answers (2)

Azzi Abdelmalek
Azzi Abdelmalek on 27 Jun 2016
A=rand(210,3);
out=mat2cell(A,[40 60 30 80]',3)
You have your 4 matrices
out{1}
out{2}
out{3}
out{4}
  1 Comment
Maryam Hamrahi
Maryam Hamrahi on 27 Jun 2016
many thank for the response. I want to have a code which work with different A

Sign in to comment.


Jan Orwat
Jan Orwat on 27 Jun 2016
Edited: Jan Orwat on 27 Jun 2016
A = zeros(210,3); %example
split = [40 60 30 80];
A_split = mat2cell(A,split);
[B, C, D, E] = A_split{:};
doc mat2cell
  1 Comment
Maryam Hamrahi
Maryam Hamrahi on 27 Jun 2016
Many thanks for the response. But A was just an example.
I want a code to work for every matrix with n rows and three columns.

Sign in to comment.

Categories

Find more on Multidimensional Arrays 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!