在Matlab中,我想用列2排序矩阵A
的前3行,然后排序3行,而不用第2列再次更改前三行。
例如对于矩阵是
A = [1 6 50;
5 2 50;
7 1 50;
2 5 53;
5 1 53;
7 3 53]
我想要
B = [7 1 50;
5 2 50;
1 6 50;
5 1 53;
7 3 53;
2 5 53;]
后来,使用相同的逻辑,我想对100行的矩阵进行排序。
答案 0 :(得分:2)
您可以通过将sortrows
方法与子矩阵操作结合使用来完成此操作:
A(1:3,:) = sortrows(A(1:3,:), 2)
A(4:6,:) = sortrows(A(4:6,:), 2)
...
如果矩阵较大,可以使用简单的for循环来完成:
for i = 1:3:100
A(i:i+2,:) = sortrows(A(i:i+2,:), 2)
end