对于矩阵 A(4 行,1000 列)。我想对第三行具有相同值的矩阵 A 的列进行分组。所以我必须有第三行包含相同值的子矩阵。
例如:
如果:
A =
1 4 5 2 2 2 2 1 1 5
1 4 5 4 4 2 2 4 5 2
3 3 3 3 4 1 3 5 3 4
4 5 5 5 4 1 5 5 5 5
然后
A1 =
1 4 5 2 2 1
1 4 5 4 2 5
3 3 3 3 3 3
4 5 5 5 5 5
A2 =
2 5
4 2
4 4
4 5
A3 =
2
2
1
1
结果可以是单元格的形式。
最佳答案
这是一种可能的破解方法(警告:我无法检查这个):
A =
1 4 5 2 2 2 2 1 1 5
1 4 5 4 4 2 2 4 5 2
3 3 3 3 4 1 3 5 3 4
4 5 5 5 4 1 5 5 5 5
specialRow=3;
unqCols = unique(A(specialRow,:));
numUnq = length(unqCols);
sepMats{numUnq}=[];
for i=1:numUnq
sepMats{i} = A(:,A(specialRow,:)==unqCols(i));
end
关于matlab - 我想对矩阵 A 的列进行分组,这些列在 Matlab 中的第三行具有相同的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8693135/