matlab将一个矩阵按照某一列的元素分成几个矩阵

原矩阵m=[1 2 3 4 5
4 2 8 5 6
2 5 7 5 6
1 5 3 6 7
2 4 3 1 5
3 4 0 9 3]
然后按照第二列的数据,分为三个矩阵
A=[1 2 3 4 5
4 2 8 5 6]
B=[ 2 5 7 5 6
1 5 3 6 7]
C=[ 2 4 3 1 5
3 4 0 9 3]
论文中,有几万个数据要处理,所以到时候不知道能分成几个矩阵,分已经用完了,希望各位高手不要因为没有分就不解答了,感激不尽呀!!

第1个回答  2013-12-09
>> m=[1 2 3 4 5
4 2 8 5 6
2 5 7 5 6
1 5 3 6 7
2 4 3 1 5
3 4 0 9 3];
m2 = m(:,2);
m2 = unique(m2);
[r,c] = size(m2);
for k = 1:r
L = m(:,2)==m2(k);
tm = mat2str(m(L,:));
ss = [char(64+k) '=' tm];
eval(ss);
end;

A =
1 2 3 4 5
4 2 8 5 6
B =
2 4 3 1 5
3 4 0 9 3
C =
2 5 7 5 6
1 5 3 6 7本回答被提问者和网友采纳