MATLAB--数字图像处理 sort()函数

简介: MATLAB--数字图像处理 sort()函数
+关注继续查看

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
这里注意下IX,比如对某二维矩阵进行[b,ix]=sort(a)后,b中存储的是排序好的矩阵,而ix也是矩阵,只是记录的是排序后b矩阵中元素在原来矩阵a中的位置(不懂的看下面例子)。

MATLAB举例说明

A=[10 13 7;1 5 9;6 2 3]
%下面两种排序方式中,mode均未指定,默认'ascend'升序
 
%dim==2,按行排序的sort函数实现
[B,indb]=sort(A,2)

 
%dim==1,按列排序的sort函数实现
[C,indc]=sort(A,1)

结果

A =
%原矩阵
    10    13     7
     1     5     9
     6     2     3


B =
%行排序 升序
     7    10    13
     1     5     9
     2     3     6


indb =
%索引值 拿第一行的 3 1 2 来说,排序后的结果是 7 10 13, 在原来矩阵中 7是在第一行第三个位置
% 10是在第一个位置 13是在第一行第二个位置 
  
     3     1     2
     1     2     3
     2     3     1





C =

     1     2     3
     6     5     7
    10    13     9


indc =

     2     3     3
     3     2     1
     1     1     2
目录
相关文章
|
12天前
|
自然语言处理 算法
第4章 MATLAB编程基础——4.5 脚本与函数(2)
第4章 MATLAB编程基础——4.5 脚本与函数(2)
|
12天前
|
自然语言处理
第4章 MATLAB编程基础——4.5 脚本与函数(1)
第4章 MATLAB编程基础——4.5 脚本与函数(1)
|
12天前
|
自然语言处理 索引
第2章 MATLAB基础知识——2.4 字符串处理函数
第2章 MATLAB基础知识——2.4 字符串处理函数
|
1月前
Matlab卷积函数之conv、deconv、conv2、convn
Matlab卷积函数之conv、deconv、conv2、convn
30 0
|
1月前
Matlab非线性拟合函数——nlinfit
Matlab非线性拟合函数——nlinfit
25 0
Matlab非线性拟合函数——nlinfit
|
1月前
|
机器人
【GUI】基于开关李雅普诺夫函数的非线性系统稳定(Matlab代码实现)
【GUI】基于开关李雅普诺夫函数的非线性系统稳定(Matlab代码实现)
|
1月前
|
传感器 运维 安全
基于控制屏障函数的安全关键系统二次规划(适用于ACC)(Matlab代码实现)
基于控制屏障函数的安全关键系统二次规划(适用于ACC)(Matlab代码实现)
|
1月前
智能控制-模糊控制Matlab函数汇总
智能控制-模糊控制Matlab函数汇总
|
2月前
|
供应链 新能源 Serverless
【价格型需求响应】基于Logistic函数的负荷转移率模型需求响应研究(Matlab代码实现)
【价格型需求响应】基于Logistic函数的负荷转移率模型需求响应研究(Matlab代码实现)
|
2月前
|
机器学习/深度学习 算法 决策智能
基于遗传算法和非线性规划的函数寻优算法(Matlab代码实现)
基于遗传算法和非线性规划的函数寻优算法(Matlab代码实现)
热门文章
最新文章
相关产品
机器翻译
推荐文章
更多