我有一个具有以下形式的矩阵:
M =
[1 4 56 1;
1 3 5 1;
1 3 6 4;
2 3 5 0;
2 0 0 0;
3 1 2 3;
3 3 3 3]
我想根据第一列中给出的数字拆分这个矩阵。所以我想将矩阵拆分为:
A =
[1 4 56 1;
1 3 5 1;
1 3 6 4]
B =
[2 3 5 0;
2 0 0 0]
C =
[3 1 2 3;
3 3 3 3]
我通过创建以下循环来尝试此操作,但这给了我所需的带有零行的矩阵:
for i = 1:length(M)
if (M(i,1) == 1)
A(i,:) = M(i,:);
elseif (M(i,1) == 2)
B(i,:) = M(i,:);
elseif (M(i,1) == 3)
C(i,:) = M(i,:);
end
end
矩阵 C 的结果例如是:
C =
[0 0 0 0;
0 0 0 0;
0 0 0 0;
2 3 5 0;
2 0 0 0]
我应该如何解决这个问题?
附加信息:
实际数据在表格的第一列中有一个日期yyyymmdd
。该数据集跨越数年,我想将这个数据集拆分为每年的矩阵,之后每个月。