我有一个5139 x 30的矩阵,想知道如何在MATLAB的for循环条件下将其分成39个子集。
我的目标: 第一个子集将具有132行和所有列。第二个子集具有132 + 132行和所有列,第三个子集具有132 + 132 + 132行和所有列。
这将一直进行到5139行。
谢谢。
答案 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的有用注释,它增加了代码的可读性。