matlab给元素排序,matlab排序及元素统计

******************************************排序及元素统计

------------------------------统计向量中同一元素出现次数的代码

x=A(:);

x=sort(x);

d=diff([x;max(x)+1]);

%对x作足够多次的差分,由于x已经排序过,值相等的元素差分后为0,值不等的元素差分后为1

count =

diff(find([1;d]));

y

=[x(find(d)),count];

--------------------------------------sort函数

sort(A)

%若A为向量,直接排序,A为矩阵或多维数组,则默认对第1维排序

%sort函数可以将字符串元胞数组按ASCII码排序,区分大小写,此时不支持其他参数设置

%若对复数排序,则按其模的大小排序

sort(A,dim)

%对第几维排序的参数,dim=1--列内(1维)排序   dim=2--行内(2维)排序

!!!单独处理每行/列,不再保持行/列的数据对应关系

sort(A,mode)  %排序方式控制,mode=‘ascend‘ or

‘descend‘,mode可以与dim同时使用

--------------------------------------diff函数,差分?

Y

= diff(X)

%若X为n*1维向量,Y=X(2:n)-X(1:n-1)

若X为m*n维向量,Y=X(2:m,:)-X(1:m-1,:),即默认对行差分

Y = diff(X,n)

%参数n是差分的阶数,如n=2,则Y = diff(X,2) = diff(diff(X))

Y = diff(X,n,dim)

%向量A在dim维的n阶差分

--------------------------------------sortrows函数

B

= sortrows(A)    %对行排序

B =

sortrows(A,column)

%column是排序参照列,如sortrows(A,[3,-2]),即先按第三列升序排列,再将第三列等值的行按第二列降序排列

[B,index]

= sortrows(A,...)

%同时返回排序前的行号索引

--------------------------------------unique函数

C =

unique(A)   %若A是矩阵,则默认将A转换为列向量处理

C = unique(A,‘rows‘)

%以行为处理单元,即返回不完全相同的行

[C,ia,ic] = unique(A)   % C =

A(ia)--C中元素在A中的索引,默认为在A中最后出现的位置;A = C(ic)--A中元素在C中的索引

[C,ia,ic] =

unique(A,‘rows‘)

[C,ia,ic] = unique(A,occurrence)  % occurrence

=‘last‘ or ‘first‘,即返回首次出现或最后一次出现的元素

[C,ia,ic] =

unique(A,‘rows‘,occurrence)

[C,ia,ic] = unique(A, setOrder)  %

setOrder = ‘sorted‘ or

‘stable‘,默认为‘sorted‘,即unique之后元素被排序了,‘stable‘则按A中顺序返回

[C,ia,ic] =

unique(A,‘rows‘,setOrder)

原文:http://www.cnblogs.com/lemonmelon/p/3651078.html

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值