Dividing matrix in four parts

2 次查看(过去 30 天)
Maryam Hamrahi
Maryam Hamrahi 2016-6-27
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.

回答(2 个)

Azzi Abdelmalek
Azzi Abdelmalek 2016-6-27
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 个评论
Maryam Hamrahi
Maryam Hamrahi 2016-6-27
many thank for the response. I want to have a code which work with different A

请先登录,再进行评论。


Jan Orwat
Jan Orwat 2016-6-27
编辑:Jan Orwat 2016-6-27
A = zeros(210,3); %example
split = [40 60 30 80];
A_split = mat2cell(A,split);
[B, C, D, E] = A_split{:};
doc mat2cell
  1 个评论
Maryam Hamrahi
Maryam Hamrahi 2016-6-27
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Multidimensional Arrays 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by