立即学习:https://edu.youkuaiyun.com/course/play/24708/278800?utm_source=blogtoedu
尝试
A=rand(1,10);
B=rand (3, 5) ;
排序
A
sort(A)从小到大
sort(B)对矩阵按列排序,每列最小的放在最上面
指定某一行排序
sort(B,2) 对每一行排序从小到大
sort(B,2,'descend') 对每一行排序从大到小
sort(B,'descend')每一列从大到小 或者 F=-sort(-B)
sort(B,'ascend') 每一列从小到大 或者 E=sort(B)
sortrows(A) 对向量不太明显 ( 默认第一列为基准(从小到大)对整行进行排序,看第一列谁大,相同比较第二列)
sortrows(B) 使用第一列数据从小到大,对整行进行排序
sortrows(B,3) 指定第三列进行排序,就是以第三列为基准。对整行进行排序,从小到大。类比sortrows(A)
或者 sortrows(B,3,‘ascend' )
sortrows(B,3,‘descend' ) 指定第三列进行排序,就是以第三列为基准。对整行进行排序。从大到小
列子
原来:B=rand (3, 5) ;
0.3517 0.5497 0.7572 0.5678 0.5308
0.8308 0.9172 0.7537 0.0759 0.7792
0.5853 0.2858 0.3804 0.0540 0.9340
默认依据第一列的数值按升序移动每一行,如果第一列的数值有相同的,依次往右比较
sortrows(B)
0.3517 0.5497 0.7572 0.5678 0.5308
0.5853 0.2858 0.3804 0.0540 0.9340
0.8308 0.9172 0.7537 0.0759 0.7792
从某一列开始比较数值并按升序排序,例:S = sortrows(B,2)
指定第二列 然后从小到大对整行排序
0.5853 0.2858 0.3804 0.0540 0.9340
0.3517 0.5497 0.7572 0.5678 0.5308
0.8308 0.9172 0.7537 0.0759 0.7792
亦可以从某一列开始以降序排列(从大到小)对整行
D = sortrows(B, -2)
0.8308 0.9172 0.7537 0.0759 0.7792
0.3517 0.5497 0.7572 0.5678 0.5308
0.5853 0.2858 0.3804 0.0540 0.9340
如果要求每一列都按照升序排列 :E=sort(B)
如果要求每一列都按照降序排列: F=-sort(-B)
翻转
flip(B) 第一行到第三行,第三行到了第一行(以中间行为对称,两边互换) // flipud(B) 上下翻转
flip(B,2) 以中间列为对称,2边列数对称交换 // fliplr(B) 左右翻转
.函数flipdim用于多维数组的翻转,相当于二维数组中的flipud和fliplr函数。例如下面的代码进行按行、列和按页翻转。
M=reshape(1:18,2,3,3)
flipdim(M,1) %每一页中的行翻转
flipdim(M,2) %每一页中的列翻转
flipdim(M,3) %将第一和第三页翻转调换