C = unique(A):返回的是和A中一样的值,但是没有重复元素。产生的结果向量按升序排序。

示例:

1.筛除向量中的重复值,产生的结果按升序排列

Define a vector with a repeated value.

A = [9 2 9 5];

Find the unique values of A.

C = unique(A)

C =

2 5 9

2.如果A是一个数组,那么返回的是A不重复的行。数组C的行是按顺序排列的。

Name = {'Fred';'Betty';'Bob';'George';'Jane'};

Age = [38;43;38;40;38];

Height = [71;69;64;67;64];

Weight = [176;163;131;185;131];

A = table(Age,Height,Weight,'RowNames',Name)

A =

Age Height Weight

___ ______ ______

Fred 38 71 176

Betty 43 69 163

Bob 38 64 131

George 40 67 185

Jane 38 64 131

Find the unique rows of A.

C = unique(A)

C =

Age Height Weight

___ ______ ______

Bob 38 64 131

Fred 38 71 176

George 40 67 185

Betty 43 69 163

注:

行(Jane 38 64 131)与 (Bob 38 64 131 )重复,被删除。

根据第一个变量(年龄),然后是第二个变量(高度)进行排序,返回一个有序的行。

3.获得非重复值及其下标

Define a vector with a repeated value.

A = [9 2 9 5];

Find the unique values of A and the index vectors ia and ic, such that C = A(ia) and A = C(ic).

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

C =

2 5 9

ia =

2

4

1

ic =

3

1

3

2

注:ia是指C中元素(2 5 9)在矩阵A中的位置;ic是指A中元素(9 2 9 5)在矩阵C中的位置。

4.获得矩阵中非重复的行

Define a matrix with a repeated row.

A = [9 2 9 5; 9 2 9 0; 9 2 9 5];

Find the unique rows of A and the index vectors ia and ic, such that C = A(ia,:) and A = C(ic,:).

[C, ia, ic] = unique(A,'rows')

C =

9 2 9 0

9 2 9 5

ia =

2

1

ic =

2

1

2

注:C = A(ia,:),即A中哪两行构成了C;A = C(ic,:),即C中哪三行构成了A。

ia,ic表示行的下标。

5.筛除向量中的重复值,产生的结果不排序

Use the setOrder argument to specify the ordering of the values in C.

Specify 'stable' if you want the values in C to have the same order as in A.

A = [9 2 9 5];

[C, ia, ic] = unique(A,'stable')

C =

9 2 5

ia =

1

2

4

ic =

1

2

1

3

注:用unique(A,’stable’)去重复后不排序。默认的排序是unique(A,’sorted’),’sorted’一般省略掉了。

6.对于含有NaN(Not a Numbe:无穷与非数值)的数列,unique函数将如何处理呢?

Define a vector containing NaN.

A = [5 5 NaN NaN];

Find the unique values of A.

C = unique(A)

C =

5 NaN NaN

注:unique函数将NaN视为不同的元素。

7.字符串元胞数组的非重复项

Define a cell array of strings.

A = {'one','two','twenty-two','One','two'};

Find the unique strings contained in A.

C = unique(A)

C =

'One' 'one' 'twenty-two' 'two'

注:unique函数可识别字符串相同与否,分大小写。

8.带拖尾空白的字符串元胞数组

定义一个字符串数组,一个字符串,其中一些字符串有拖尾的空白。

A = {'dog','cat','fish','horse','dog ','fish '};

Find the unique strings contained in A.

C = unique(A)

C =

'cat' 'dog' 'dog ' 'fish' 'fish ' 'horse'

unique函数将带拖尾的空白的字符串数组视为不同的字符。如这里的’fish’ ‘fish ‘。

9.之前获得元素下标都是元素第一次出现的下标,用legacy获取元素最后一次出现的下标。

Use the 'legacy' flag to preserve the behavior of unique from R2012b and prior releases in your code.

Find the unique elements of A with the current behavior.

A = [9 2 9 5];

[C1, ia1, ic1] = unique(A)

C1 =

2 5 9

ia1 =

2

4

1

ic1 =

3

1

3

2

Find the unique elements of A, and preserve the legacy behavior.

[C2, ia2, ic2] = unique(A, 'legacy')

C2 =

2 5 9

ia2 =

2 4 3

ic2 =

3 1 3 2

注:legacy的作用是取重复值最后一次出现的角标。

matlab中unique的作用,matlab中的unique函数详解相关推荐

  1. matlab导数曲线怎样画,matlab三次样条曲线的绘制(spline和csape函数详解)

    matlab三次样条函数的绘制(spline和csape函数详解) 样条函数是工程中常用的插值函数.早期工程师制图时,把富有弹性的细长木条(所谓样条)用压铁固定在样点上,在其他地方让它自由弯曲,然后沿 ...

  2. matlab三次样条曲线的绘制(spline和csape函数详解)

    matlab三次样条函数的绘制(spline和csape函数详解) 前言 1.spline函数详解 1.一维非节点边界 2.第二边界条件 3.高维无约束 4.高维第二边界 5.利用第二边界条件绘制圆 ...

  3. php中get_featured_posts()是什么意思,WordPress的Get_Posts()函数详解

    WP中获取POST有两个主要函数,Get_post()和Get_Posts().一个是获取单文章,另外一个是获取多文章,其中,官网对Get_posts()函数的描述很简单.但有的时候描述越简单的函数, ...

  4. linux中recvfrom读取速度,Linux系统调用-- recv/recvfrom 函数详解

    Linux系统调用-- recv/recvfrom函数详解 功能描述: 从套接字上接收一个消息.对于recvfrom,可同时应用于面向连接的和无连接的套接字.recv一般只用在面向连接的套接字,几乎等 ...

  5. c语言中的中pred函数作用,C++ partition()和stable_partition()函数详解

    partition 可直译为"分组",partition() 函数可根据用户自定义的筛选规则,重新排列指定区域内存储的数据,使其分为 2 组,第一组为符合筛选条件的数据,另一组为不 ...

  6. insert 语句_替换某字段中的特定字符串——MySQL REPLACE 与INSERT 函数详解

    MySQL提供了一个非常实用的字符串函数--REPLACE() 函数,它允许用新的字符串替换字段中的特定字符串,而不再需要自己写函数去替换,用起来非常的方便. REPLACE() 函数语法 需要注意的 ...

  7. python中反三角函数用法_Python入门之三角函数atan2()函数详解

    python 的 Python入门之三角函数atan2()函数详解 描述 atan2() 返回给定的 X 及 Y 坐标值的反正切值. 语法 以下是 atan2() 方法的语法: import math ...

  8. Matlab中画图以及plot函数及legend函数详解

    Matlab中plot函数及legend函数详解 Matlab中plot函数全功能解析Matlab中plot函数及legend函数详解 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1, ...

  9. Matlab中plot函数及legend函数详解

    Matlab中plot函数及legend函数详解 Matlab中plot函数及legend函数详解 Matlab中plot函数全功能解析 功能 二维曲线绘图 语法 plot(Y) plot(X1,Y1 ...

  10. Matlab中 pdist 函数详解

    学习笔记,仅供参考,有错必纠 转载自:Matlab中 pdist 函数详解(各种距离的生成); pdist Pairwise distance between pairs of objects. Sy ...

最新文章

  1. 创建存储器_Microchip推出首款低功耗数模转换器,集成非易失性存储器,简化手持设备设计...
  2. 在离线环境中安装Visual Stuido 2017
  3. webpack简单配置
  4. 华为软件编程规范和范例 函数、过程
  5. Java IO基准测试:Quasar与异步ForkJoinPool与ManagedBlock
  6. 使用VB.net建立excel文件
  7. Springcloud整理
  8. Servlet JSP - 转发与重定向的区别
  9. Git可视化工具-小乌龟
  10. 5个很牛的黑科技网站分享
  11. Java、JSP水费管理系统
  12. 低版本向日葵本机识别码和验证码提取
  13. 红橙黄绿青蓝紫 RGB值 16进制 、10进制
  14. google书签误删恢复(windows系统)
  15. 【Java】正则表达式分组匹配
  16. 高级软件工程第七次作业:LLS战队Alpha敏捷冲刺5
  17. python语音识别 开源_DaCiDian是一个开源的中文普通话词汇,用于自动语音识别(ASR)...
  18. html5统计在线人数,html的统计访客人数的代码?
  19. python名片管理系统_用python实现名片管理系统
  20. getline()的用法详解

热门文章

  1. C/C++ 格式化读取和读取一行
  2. Java出现OutOfMemoryError
  3. linq to sql 语法 学习笔记(1)
  4. 关于windows2008重新启动需要重新设置分辨率的问题
  5. MyCat分库分表入门示例
  6. Java 反射Reflection总结一
  7. 使用iftop监控网卡实时流量
  8. NB-IoT、eMTC与LoRa三大物联网技术相争,共存还是鏖战?
  9. margin:0 auto和text-aglin:center的区别
  10. ArrayList与普通数组的区别