Dividing matrix in four parts

1 回表示 (過去 30 日間)
Maryam Hamrahi
Maryam Hamrahi 2016 年 6 月 27 日
コメント済み: 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 Center および File ExchangeMultidimensional Arrays についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by