子矩形矩阵

时间:2018-07-07 21:42:36

标签: matlab

我有一个5139 x 30的矩阵,想知道如何在MATLAB的for循环条件下将其分成39个子集。

我的目标: 第一个子集将具有132行和所有列。第二个子集具有132 + 132行和所有列,第三个子集具有132 + 132 + 132行和所有列。

这将一直进行到5139行。

谢谢。

1 个答案:

答案 0 :(得分:2)

根据您的评论,我相信以下代码可以实现您的目标:

%%generate the data and find the boundary of the data
Data=rand(5139,30);
[m,~]=size(Data);

%%calculate the index of every subset and split the data
L=1;
R=132;
Subset=cell(39,1);
for ii=1:39
  Subset{ii}=Data(L:R,:);
  R=R+132;
  R=min(R,m);
end

编辑:感谢@CrisLuengo的有用注释,它增加了代码的可读性。