Matlab求助:如何将一个矩阵排序

来源:百度知道 编辑:UC知道 时间:2024/07/11 05:12:50
有一个矩阵,3 * 5
323 432 232 323 9.2
343 766 323 232 5.3
343 345 454 676 7.9
用什麽Matlab操作可以对第五列排序?结果应该如下:
343 766 323 232 5.3
343 345 454 676 7.9
323 432 232 323 9.2

谢谢大家了

a=[323 432 232 323 9.2;343 766 323 232 5.3;343 345 454 676 7.9];
for i=1:2
for j=1:3-i
if a(j,5)>a(j+1,5)
b=a(j,5);
a(j,5)=a(j+1,5);
a(j+1,5)=b;
end
end
end

使用的方法为冒泡排序法。改里面相应的系数,就可以运用于其它排序

矩阵排序可以使用MATLAB内置函数sortrows进行:

n = 10;   coln = 2;    % coln 表示按第几列排序
A = rand(n);
B = sortrows(A, coln); % B 为按第coln列从大到小进行排序后的矩阵

如果想按某一行从大到小排列,只需将矩阵进行转置并进行同样处理即可。