精华内容
下载资源
问答
  • MATLAB sort函数用法
    2021-04-21 03:03:22

    sort(A):对一维或二维矩阵进行升序排序,并返回排序后的矩阵;当A为二维矩阵时,对矩阵的每一列分别进行排序。

    sort(A,dim):对矩阵按指定的方向进行升序排序,并返回排序后的矩阵。当dim=1时,对矩阵的每一列排序(即将第一维行数打乱重排);当dim=2时,对矩阵的每一行排序(即将第二维列数打乱重排)。

    sort(A,dim,mode):mode为'ascend'时,进行升序排序;mode为'descend'时,进行降序排序。相比于sort(A)可见默认升序,默认dim=1。

    [B,IX]=sort(A,...):IX为排序后备元素在原矩阵中的行位置或列位置的索引,为与A同样大小的标量矩阵,且每行(dim=2)或每列(dim=1)遍布1:行数m,或遍布1:列数n

    sort在按一维和按二维排列矩阵的MATLAB实现过程:

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19clear all;clc;close all;

    A=[10 13 7;1 5 9;6 2 3]

    %下面两种排序方式中,mode均未指定,默认'ascend'升序

    %dim==2,按行排序的sort函数实现

    [B,indb]=sort(A,2)

    %按行排序的循环语句实现

    for i=1:size(A,1)

    B1(i,:)=A(i,indb(i,:));

    end

    B1

    %dim==1,按列排序的sort函数实现

    [C,indc]=sort(A,1)

    %按列排序的循环语句实现

    for j=1:size(A,2)

    C1(:,j)=A(indc(:,j),j);

    end

    C1

    运行结果如下:

    A =

    10 13 7

    1 5 9

    6 2 3

    B =

    7 10 13

    1 5 9

    2 3 6

    indb =

    3 1 2

    1 2 3

    2 3 1

    B1 =

    7 10 13

    1 5 9

    2 3 6

    C =

    1 2 3

    6 5 7

    10 13 9

    indc =

    2 3 3

    3 2 1

    1 1 2

    C1 =

    1 2 3

    6 5 7

    10 13 9

    更多相关内容
  • matlab基本函数sort

    千次阅读 2021-05-01 12:01:12
    一起来学演化计算-matlab基本函数sort觉得有用的话,欢迎一起讨论相互学习~Follow Mesort对数组元素排序语法B = sort(A) 按照大小不等于1的第一个数组维度对A的元素按升序排序如果A是一个向量,那么sort(A)对向量元素...

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

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

    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

    输入参数

    424dbe0258853eee6e49e2b18ea45387.png

    输出参数

    07fca99398affaab945155b044b9d468.png

    原文:https://www.cnblogs.com/cloud-ken/p/11259385.html

    展开全文
  • 详解Matlabsort 函数用法

    千次阅读 2021-04-20 07:57:30
    (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序.eg: A=[1,5,3],则sort(A)=[1,3,5]A=[1,5,3;2,4,1],则sort(A)=[1,4,1;2,5,3](2)B=sort(A,dim),对数组按指定方向...

    (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序.

    eg: A=[1,5,3],则sort(A)=[1,3,5]

    A=[1,5,3;2,4,1],则sort(A)=[1,4,1;2,5,3]

    (2)B=sort(A,dim),对数组按指定方向进行升序排序,

    dim =1,表示对每一列进行排序,,dim=2表示对每一行进行排序.

    (3)B=sort(A,dim,mode),mode为指定排序模式,mode为"ascend"时,进行升序排序,为"descend "时,进行降序排序.

    (4)[B,I]=sort(A,.....),I为返回的排序后元素在原数组中的行位置或列位置.

    一些例子:

    >> A=[3 4 2;1 5 3;4 7 1]

    A =

    3 4 2

    1 5 3

    4 7 1

    >> A(:)

    ans =

    3

    1

    4

    4

    5

    7

    2

    3

    1

    >> min(A(:))

    ans =

    1

    >> max(A(:))

    ans =

    7

    >> A

    A =

    3 4 2

    1 5 3

    4 7 1

    >> sort(A)

    ans =

    1 4 1

    3 5 2

    4 7 3

    >> A

    A =

    3 4 2

    1 5 3

    4 7 1

    >> sort(A(:))

    ans =

    1

    1

    2

    3

    3

    4

    4

    5

    7

    >> sort(A,1)

    ans =

    1 4 1

    3 5 2

    4 7 3

    >> sort(A,2)

    ans =

    2 3 4

    1 3 5

    1 4 7

    >> sort(A,1,"descend")

    ??? sort(A,1,"descend")

    Error: Missing variable or function.

    >> sort(A,1,'descend')

    ans =

    4 7 3

    3 5 2

    1 4 1

    >> [B,I]=sort(A)

    B =

    1 4 1

    3 5 2

    4 7 3

    I =

    2 1 3

    1 2 1

    3 3 2

    以上内容简单给大家介绍了matlab中 sort 函数用法 ,希望对大家以上帮助,更多有关sort函数的相关知识请登录聚米学院网站官网了解更多!

    展开全文
  • MATLAB 里,返回排序后的矩阵以及对应原矩阵的索引是在 sort 一个函数搞定,但在 OpenCV 中,其功能分别被分配到了 cv::sort 和 cv::sortIdx 里,cv::sort 负责返回排序后的矩阵,cv::sortIdx 负责返回对应原矩阵...

    在 MATLAB 里,返回排序后的矩阵以及对应原矩阵的索引是在 sort 一个函数搞定,但在 OpenCV 中,其功能分别被分配到了 cv::sort 和 cv::sortIdx 里,cv::sort 负责返回排序后的矩阵,cv::sortIdx 负责返回对应原矩阵的索引。

    还有在 MATLAB 里,1 和 2 用来分别指示是对列还是对行进行排序,’ascend’ 和 ‘descend’ 用来指示是升序还是降序。在 OpenCV 中,我们用类似于 CV_SORT_EVERY_ROW + CV_SORT_ASCENDING 这样的方式来一并指定对列还是对行以及升序还是降序,其指示值定义如下,所以可以组合出 4 种不同的方式:

    #define CV_SORT_EVERY_ROW 0

    #define CV_SORT_EVERY_COLUMN 1

    #define CV_SORT_ASCENDING 0

    #define CV_SORT_DESCENDING 16

    CV_SORT_EVERY_ROW + CV_SORT_ASCENDING:对矩阵的每行按照升序排序;

    CV_SORT_EVERY_ROW + CV_SORT_DESCENDING:对矩阵的每行按照降序排序;

    CV_SORT_EVERY_COLUMN + CV_SORT_ASCENDING:对矩阵的每列按照升序排序;

    CV_SORT_EVERY_COLUMN + CV_SORT_DESCENDING:对矩阵的每列按照降序排序;

    具体代码可见 OpenCV-and-CPP-for-MATLAB-Users Demo_OpenCVFunctions 文件夹下的 demo_sort_sortIdx.cpp 函数,为了方便起见,将代码陈列如下:

    #include

    #include

    void demo_sort_sortIdx()

    {

    int testArrLen = 5;

    cv::Mat_ testArr = cv::Mat::zeros(2, testArrLen, CV_32S);

    testArr(0,0) = 87;

    testArr(0,1) = 65;

    testArr(0,2) = 98;

    testArr(0,3) = 12;

    testArr(0,4) = 55;

    testArr(1,0) = 86;

    testArr(1,1) = 66;

    testArr(1,2) = 97;

    testArr(1,3) = 17;

    testArr(1,4) = 54;

    cv::Mat_ sortArr, sortIdxArr;

    cv::sort(testArr, sortArr, CV_SORT_EVERY_ROW + CV_SORT_ASCENDING);

    cv::sortIdx(testArr, sortIdxArr, CV_SORT_EVERY_ROW + CV_SORT_ASCENDING);

    std::cout<

    std::cout<

    std::cout<

    }

    转载请注明出处。

    展开全文
  • matlabsort函数用法

    千次阅读 2019-11-12 10:27:08
    1. sort(A):对一维或二维矩阵进行升序排序,并返回排序后的矩阵;当A为二维矩阵时,对矩阵的每一列分别进行排序。 2. sort(A,dim):对矩阵按指定的方向进行升序排序,并返回排序后的矩阵。当dim=1时,对矩阵的每一...
  • matlab sort()升序和降序

    千次阅读 2021-04-22 10:00:04
    B = sort(A) %沿着输入参量 A的不同维的方向、从小到大重新排列 A中的元素。A 可以是字符串的、实数的、复数的单元数组。对于 A 中完全相同的元素,则按它们在 A 中的先后位置排列在一块;若 A 为复数的,则按元素...
  • matlabsort函数的用法

    2021-04-19 04:26:34
    @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@help文档中第一句就说明,可以用sort将参量中的元素按升序或降序排列~格式:B = sort(A)%沿着输入参量A的不同维的方向、从小...
  • matlab sort函数

    千次阅读 2019-07-28 16:11:07
    一起来学演化计算-matlab基本函数sort 觉得有用的话,欢迎一起讨论相互学习~Follow Me sort 对数组元素排序 语法 B = sort(A) 按照大小不等于1的第一个数组维度对A的元素按升序排序 如果A是一个向量,那么sort(A)...
  • Matlab 用sort函数排序

    2021-04-18 14:00:59
    help文档中第一句就说明,可以用sort将参量中的元素按升序或降序排列~格式:B = sort(A)%沿着输入参量A的不同维的方向、从小到大重新排列 A中的元素。A 可以是字符串的、实数的、复数的单元数组。对于 A 中完全相同...
  • matlab sort用法

    2021-12-10 20:32:14
    Y=sort(X) sort()的参数可以是向量,矩阵,数组等等。当X是向量时,sort(X)对X的元素进行升序...参数MODE表示按哪一种模式进行排序,当MODE=‘ASCEND’的时进行升序排序,当MODE=‘DESCEND’时,进行降序排序。 Y返回
  • Matlabsort函数

    万次阅读 2018-03-06 21:53:17
    1、Matlab自带排序函数sort用法 [Y,I] = sort(X,DIM,MODE) sort函数默认Mode为'ascend'为升序,sort(X,'descend')为降序排列。 sort(X)若X是矩阵,默认对X的各列进行升序排列 sort(X,dim) dim=1时等效sort(X) ...
  • MATLAB中排序函数sort()的用法

    千次阅读 2020-04-23 10:18:25
    MATLAB中排序函数sort()可以对参数的元素进行升序排序或降序排序。 具体的用法如下: Y=sort(X) sort()的参数可以是向量,矩阵,数组等等。当X是向量时,sort(X)对X的元素进行升序排序;当X是矩阵时,sort(X)对...
  • sort函数用法

    2021-04-20 01:54:55
    sort函数功能把数组元素按升序或降序排列使用方法B = sort(A)把数组A沿不同维度上的元素按照升序排列。如果A是向量,sort(A) 对A中元素按照升序排列。如果A是矩阵,sort(A) 对A按每一列元素按照升序排列。如果A是...
  • help文档中第一句就说明,可以用sort将参量中的元素按升序或降序排列~格式:B = sort(A) %沿着输入参量 A的不同维的方向、从小到大重新排列 A中的元素。A 可以是字符串的、实数的、复数的单元数组。对于 A 中完全...
  • matlab 排序函数sort()

    2020-04-13 09:41:59
    Y=sort(X) sort()的参数可以是向量,矩阵,数组等等。当X是向量时,sort(X)对X的元素进行升序排序;当X是矩阵时,sort(X)对X的每一列进行升序排序; Y=sort(X,DIM,MODE) 参数DIM表示对哪一个维数进行排序,例如当X是...
  • 全栈工程师开发手册 (作者:栾鹏) matlab2c动态链接库下载 ...2、将matlab2c.dll、matlab2c.lib和matlab2c.h放到项目头文件目录下 3、在cpp文件中引入下面的代码 #include "Matla
  • MATLAB中的sort函数

    千次阅读 2017-03-12 17:14:31
    sort函数功能:把数组元素按升序或降序排列    使用方法 1) B = sort(A) 把数组A沿不同维度上的元素按照升序排列。  如果A是向量,sort(A) 对A中元素按照升序排列。 如果A是矩阵,sort(A) 对A按每一列元素...
  • matlab排序函数sort的使用方法

    千次阅读 2020-08-16 10:06:38
    1.[B, I]=sort(V) B是排序后的结果,I是排序后每个元素在原矩阵V中的下标 2.B=sort(V, ‘descend’) B为V的降序排列 默认为‘ascend‘升序排列
  • Matlab中的sort函数

    千次阅读 2018-03-24 15:46:18
    sort函数主要用于对矩阵或者是向量进行升序或者降序排列。(默认升序)语法:a.对于矩阵SORT(X)按升序排列X的每一列。 b.对于向量,SORT(X)按升序对X的元素进行排序。 c.对于N-D数组,SORT(X) 沿着X的第一个非单元素...
  • 排序算法函数 将一串数字(含重复)进行排序,输出nodey为从小到大排列的向量,nm为不重复的数字数目 function [nodey,nm]=lsq_PXH(node,cc) % n=length(node); yc=roundn(node(cc,:),-6); ny =yc(1); kk= 2; for i...
  • sort函数用法 – MATLAB中文论坛

    千次阅读 2021-04-18 08:00:46
    sort函数功能把数组元素按升序或降序排列使用方法B = sort(A)把数组A沿不同维度上的元素按照升序排列。如果A是向量,sort(A) 对A中元素按照升序排列。如果A是矩阵,sort(A) 对A按每一列元素按照升序排列。如果A是...
  • Matlab中排序某个向量(一维)时,可以使用sort(A),其中A为待排序的向量,如果仅是用来排序A,那么直接使用sort(A)即可, 如果排序后还需要保留原来的索引可以用返回值,即[B,ind]=sort(A),计算后,B是A排序后的...
  • matlabsort 函数用法

    千次阅读 2017-06-06 22:05:07
    (1)B=sort(A) 对一维或二维数组进行升序排序,并返回排序后的数组,当A为二维时,对数组每一列进行排序. eg: A=[1,5,3],则sort(A)=[1,3,5]  A=[1,5,3;2,4,1],则sort(A)=[1,4,1;2,5,3] (2)B=sort(A,dim),对数...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,184
精华内容 473
关键字:

matlabsort函数降序

matlab 订阅