• MATLAB sort函数用法


    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实现过程:

    clear 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

  • 相关阅读:
    第47课 父子间的冲突
    第46课 继承中的构造与析构
    第45课 不同的继承方式
    3.天线-网络规划-网络优化
    2.多址技术
    断剑重铸013
    断剑重铸012
    断剑重铸011
    1.LTE系统概述
    断剑重铸010
  • 原文地址:https://www.cnblogs.com/zhangziyan/p/8822231.html
Copyright © 2020-2023  润新知