-矩阵-排序和翻转 sort sortrows flip flipud flipdim flip fliplr

立即学习:https://edu.csdn.net/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)  %将第一和第三页翻转调换

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值