Matlab多维数组按照第一行从小到大进行列排序

借鉴自:http://blog.sina.com.cn/s/blog_6377a3100100i8qi.html

假设有3*n的数组,3行n列,将第一行数字从小到大排列,然后其他行也按照第一行重拍的顺序排列,如:
a=
6 5 4 3 2 1
1 2 3 4 5 6
7 8 9 0 1 2

排列之后为:
1 2 3 4 5 6
6 5 4 3 2 1
2 1 0 9 8 7

用Matlab可以很简单的实现:

a1=a(1,:);
[a1,pos]=sort(a1);%左侧的a1是排列之后的,pos是排序后的下标
a2=a(2,pos);
a3=a(3,pos);%a2,a3是排列好的第二行和第三行

你可能感兴趣的:(Matlab多维数组按照第一行从小到大进行列排序)