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
谢谢大家了
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列从大到小进行排序后的矩阵
如果想按某一行从大到小排列,只需将矩阵进行转置并进行同样处理即可。