MATLAB--数字图像处理 sort()函数
【摘要】 sort()
用处 对一维或二维矩阵进行排序
用法 sort(A):对一维或二维矩阵进行升序排序,并返回排序后的矩阵;当A为二维矩阵时,对矩阵的每一列分别进行升序排序(列优先)。
sort(A,dim):对矩阵按指定的方向进行升序排序,并返回排序后的矩阵。 当dim=1时,对矩阵的每一列排序(即将第一维行数打乱重排); 当dim=2时,对矩阵的每一行排序(即将第二...
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)
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
结果
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
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
文章来源: haihong.blog.csdn.net,作者:海轰Pro,版权归原作者所有,如需转载,请联系作者。
原文链接:haihong.blog.csdn.net/article/details/102532615
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)