我有一个矩阵 A
A=[f magic(10)]
A=
931142103 92 99 1 8 15 67 74 51 58 40
931142103 98 80 7 14 16 73 55 57 64 41
931142103 4 81 88 20 22 54 56 63 70 47
459200101 85 87 19 21 3 60 62 69 71 28
459200101 86 93 25 2 9 61 68 75 52 34
459200101 17 24 76 83 90 42 49 26 33 65
459200101 23 5 82 89 91 48 30 32 39 66
37833100 79 6 13 95 97 29 31 38 45 72
37833100 10 12 94 96 78 35 37 44 46 53
37833100 11 18 100 77 84 36 43 50 27 59
第一列是公司代码。其余列是公司的数据,每一行指的是给定年份第 1 列中的公司。请注意,对于每家公司来说,年份可能并不平衡。我想根据第一列减去子矩阵。例如,A(1:3,2:11)
对于 931142103:
A(1:3,2:11)
ans =
92 99 1 8 15 67 74 51 58 40
98 80 7 14 16 73 55 57 64 41
4 81 88 20 22 54 56 63 70 47
与459200101
(which would be A(4:7,2:11)
) 和A(8:10,2:11)
for相同37833100.
我觉得代码应该是这样的:
indices=find(A(:,1));
obs=size(A(:,1));
for i=1:obs,
if i==indices(i ??)
A{i}=A(??,2:11);
end
end
我很难索引这些复杂的代码:459200101
并将37833100
它们收集在一起。我怎样才能写出我的子矩阵的行A{i}
?
非常感谢!