• matlab sort函数


    一起来学演化计算-matlab sort函数

    觉得有用的话,欢迎一起讨论相互学习~

    我的微博我的github我的B站

    sort

    • 对数组元素排序

    语法

    • B = sort(A) 按照大小不等于1的第一个数组维度对A的元素按升序排序
      • 如果A是一个向量,那么sort(A)对向量元素进行排序
      • 如果A是一个矩阵,那么sort(A)将A的列作为向量,并对每一列进行排序
      • 如果A是一个多维数组,那么sort(A)沿着大小不等于1的第一个数组维度操作,将元素视为向量。
    • B = sort(A,dim)
      • 返回沿维度dim的已排序元素。例如,如果A是一个矩阵,那么sort(A,2)对每一行中的元素进行排序
    • B = sort( ___ ,direction) 返回使用前面任何语法按方向指定的顺序排序的元素。单字符串“ascend”表示升序(默认情况下),“descent”表示降序。
    • [B,I] = sort( ___ ) 返回以前任何语法的索引向量集合。I的大小与A相同,描述了A的元素沿排序维数排列成B的情况。例如,如果A是一个数值向量,B = A(I)。即 返回排序后元素的索引

    示例

    按升序排列向量

    • 创建一个行向量,并按升序对其元素排序
    A = [9 0 -7 5 3 8 -10 4 2];
    B = sort ()
    B =
    -10 7 0 2 3 4 5 8 9
    

    对矩阵中的行做升序排列

    A = [3 6 5; 7 -2 4; 1 0 -9]
    A =
    
         3     6     5
         7    -2     4
         1     0    -9
    
    B = sort(A,2)
    B =
    
         3     5     6
        -2     4     7
        -9     0     1
    

    对矩阵中的列按降序排列

    A = [10 -12 4 8; 6 -9 8 0; 2 3 11 -2; 1 1 9 3]
    A =
    
        10   -12     4     8
         6    -9     8     0
         2     3    11    -2
         1     1     9     3
    
    B = sort(A,'descend')
    B =
    
        10     3    11     8
         6     1     9     3
         2    -9     8     0
         1   -12     4    -2
    

    排序并索引日期数组

    创建一个datetime值数组,按升序排序,即从最早的日历日期到最近的日历日期

    ds = {'2012-12-22';'2063-04-05';'1992-01-12'};
    A = datetime(ds,'Format','yyyy-MM-dd')
    A =
    
       2012-12-22
       2063-04-05
       1992-01-12
    
    [B,I] = sort(A)
    B =
    
       1992-01-12
       2012-12-22
       2063-04-05
    
    
    I =
    
         3
         1
         2
    
    B列出了排序后的日期,I包含了A对应的索引。使用索引数组I直接访问原始数组中已排序的元素
    
    A(I)
    ans =
    
       1992-01-12
       2012-12-22
       2063-04-05
    
    

    3-D数组排序

    创建一个2×2×2的数组,并沿着第三维按升序排列其元素

    A(:,:,1) = [2 3; 1 6];
    A(:,:,2) = [-1 9; 0 12];
    A
    A(:,:,1) =
    
         2     3
         1     6
    
    
    A(:,:,2) =
    
        -1     9
         0    12
    
    B = sort(A,3)
    B(:,:,1) =
    
        -1     3
         0     6
    
    
    B(:,:,2) =
    
         2     9
         1    12
    
    % 使用A(:),表示对A的所有元素进行排序
    
    B = sort(A(:))
    B =
    
        -1
         0
         1
         2
         3
         6
         9
        12
    

    输入参数

    输出参数

  • 相关阅读:
    ProviderManager
    C#.NET常见问题(FAQ)-如何把定义存放类实例的数组
    C#.NET常见问题(FAQ)-命名空间namespace如何理解
    C#.NET常见问题(FAQ)-索引器indexer有什么用
    C#.NET常见问题(FAQ)-构造器constructor有什么用
    C#.NET常见问题(FAQ)-public private protectd internal有什么区别
    C#.NET常见问题(FAQ)-override覆盖和virtual虚类如何理解
    C#.NET常见问题(FAQ)-如何使用右下角托盘图标notifyIcon
    C#.NET常见问题(FAQ)-如何使用变量访问控件属性
    C#.NET常见问题(FAQ)-如何使用变量动态添加控件
  • 原文地址:https://www.cnblogs.com/cloud-ken/p/11259385.html
Copyright © 2020-2023  润新知