主要内容

独特

数组中的唯一值

描述

例子

C=唯一(一种返回与相同的数据一种,但没有重复。C按顺序排列。

  • 如果一种是一个表或时间表,然后独特返回唯一行一种按排序顺序。对于时间表,独特在确定行是否唯一时,考虑行时间和行值,并对输出时间表进行排序C按行时间。

  • 如果一种是一个分类数组,那么排序顺序由类别的顺序确定。

例子

C=唯一(一种setOrder返回唯一的值一种以特定的顺序。setOrder'排序'(默认)或'稳定的'

C=唯一(一种发生指定在重复值的情况下返回哪些索引。发生'第一的'(默认)或'最后的'

例子

C=唯一(一种___'行'C=唯一(一种'行'___对待每行一种作为一个实体并返回唯一行一种按排序顺序。您必须指定一种并且可选择可以指定setOrder或者发生

'行'选项不支持单元格数组。万博1manbetx

[CIA.我知道了] =独特(___也返回索引向量IA.我知道了使用以前的任何语法。

  • 如果一种是一个矢量,然后C = (ia)一个= C(集成电路)

  • 如果一种是矩阵还是数组C = (ia)A(:) = C(IC)

  • 如果是'行'然后,指定选项c = a(ia,:): = C(集成电路)

  • 如果一种是桌子还是时刻表c = a(ia,:): = C(集成电路)

例子

[CIA.我知道了] =独特(一种,'遗产')[CIA.我知道了] =独特(一种、“行”、“遗产”)[CIA.我知道了] =独特(一种发生,'遗产'),和[CIA.我知道了] =独特(一种“行”,发生,'遗产')保留行为独特来自R2012B和先前版本的功能。

'遗产'选项不支持分类数组、日期时间数组万博1manbetx、持续时间数组、calendarDuration数组、表或时间表。

例子

全部收缩

定义具有重复值的向量。

a = [9 2 9 5];

找到唯一的值一种

c =唯一(a)
C =1×32 5 9.

使用一些重复数据创建表。

Name = {'弗雷德';'贝蒂';“鲍勃”;“乔治”;'简'};年龄= [38; 43; 38; 40; 38];高度= [71; 69; 64; 67; 64];重量= [176; 163; 131; 185; 131];A =表(年龄,身高,体重,'rownames',名称)
A =5×3表年龄高度重量___ ______ ______ FRED 38 71 176贝蒂43 69 163 Bob 38 64 131 George 40 67 185 Jane 38 64 131

找到独特的行一种独特返回行的行一种按第一个变量排序年龄然后由第二个变量高度

c =唯一(a)
C =4×3表年龄高度重量___ ______ ______鲍勃38 64 131弗雷德38 71 176乔治40 67 185贝蒂43 69 163

查找第一个变量中具有唯一值的表行年龄.如果只希望一个表变量包含唯一的值,则可以使用独特从表中提取这些行。

[c,ia] =独特(A.age);b = a(ia,:)
B =3×3表年龄身高体重___ ______ ______弗雷德38 71 176乔治40 67 185贝蒂43 69 163

定义具有重复值的向量。

a = [9 2 9 5];

找到唯一的值一种和指数向量IA.我知道了,这样C = (ia)一个= C(集成电路)

[C, ia, ic] = unique(A)
C =1×32 5 9.
ia =3×12 4 1
IC =4×13 1 3 2

使用一些重复的行创建一个10×3矩阵。

a = randi(3,10,3)
A =10×31 1 2 3 3 1 1 3 3 3 3 3 3 3 3 3 3 3 1 1 1 2 3 3 3 3 3 3 3 3 1 1 1 2 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 1

找到独特的行一种基于前两列中的数据。指定三个输出以返回索引向量IA.我知道了

[C ia ic] =独特((:,1:2),'行'
C =7×21 1 1 2 1 3 2 3 3 3 1 3 2 3 3 3
ia =7×16 7 3 5 1 4 2
IC =10×15 7 3 6 4 1 2 4 7 7

IA.索引一种并检索前两列中具有唯一元素组合的行。

: uA = (ia)
uA =7×31 1 3 1 2 3 1 3 3 2 3 3 3 1 2 3 2 3 3 3 1

在向量中找到唯一的元素,然后使用积累计算每个唯一元素出现的次数。

从1到5创建随机整数的向量。

A = randi([1 5],200,1);

查找矢量中的唯一元素。返回索引矢量IA.我知道了

[c,ia,ic] =独特(a);

计算每个元素进入的次数C出现在一种.指定我知道了作为第一个输入积累1作为第二个输入,使得该功能计数重复的下标我知道了.总结结果。

a_counts = Accumarray(IC,1);value_counts = [c,a_counts]
value_counts =.5×21 46 2 36 3 38 4 39 5 41

使用setOrder参数指定值的排序C

指定'稳定的'如果你想要值C与相同的订单一种

a = [9 2 9 5];[c,ia,ic] =独特(a,'稳定的'
C =1×39 2 5.
ia =3×11 2 4.
IC =4×11 2 1 3

或者,您可以指定'排序'命令。

[c,ia,ic] =独特(a,'排序'
C =1×32 5 9.
ia =3×12 4 1
IC =4×13 1 3 2

定义包含的向量

a = [5 5南楠];

找到唯一的值一种

c =唯一(a)
C =1×35南南

独特对待值截然不同。

创建矢量X.获得第二个向量y通过转换和未转变X.这种转变介绍了圆截止差异y

x =(1:6) *π;y = 10 ^ log10 (x);

验证Xy通过取差得到的结果并不相同。

X-Y.
ans =.6×110.-14年×0.0444 0 0 0 0 0 -0.3553

独特在连接载体中找到唯一的元素[x; y].这独特函数执行精确比较并确定其中的一些值X不完全等于值y.这些是具有非零差异的相同元素X-Y..因此,C包含值出现要重复。

c =唯一([x; y])
c =8×13.1416 3.1416 6.2832 9.4248 12.5664 15.7080 18.8496 18.8496

uniquetol.使用小公差来执行比较。uniquetol.将容差的元素视为平等。

c = Uniquetol([x; y])
C =6×13.1416 6.2832 9.4248 12.5664 15.7080 18.8496

创建一个字符向量的单元格数组。

一个= {'一''二''22''一''二'};

中包含的唯一字符向量一种

c =唯一(a)
C =1x4细胞{'One'} {'One'} {' 22 '} {'two'}

创建一个字符向量的单元格数组,一种,其中一些矢量有尾随空格。

一个= {'狗''猫''鱼''马''狗 ''鱼 '};

中包含的唯一字符向量一种

c =唯一(a)
C =1x6细胞{“猫”}{‘狗’}{‘狗’}{‘鱼’}{‘鱼’}{'马'}

独特将字符向量的细胞阵列中的尾随空格视为明显的特征。

使用'遗产'标记来保持行为独特来自R2012B和代码中的先前版本。

找到独特的元素一种随着当前的行为。

a = [9 2 9 5];[C1,IA1,IC1] =独特(a)
C1 =1×32 5 9.
IA1 =3×12 4 1
IC1 =4×13 1 3 2

找到独特的元素一种,并保留遗留行为。

[C2,IA2,IC2] =独特(A,'遗产'
C2 =1×32 5 9.
IA2 =1×32 4 3.
IC2 =1×43 1 3 2

输入参数

全部收缩

输入数组。

  • 如果一种是一张桌子,然后独特不是考虑行姓名。具有相同值但不同名称的两行被认为是相等的。

  • 如果一种是一个时间表,然后独特考虑到行时间。具有相同值但不同时间的两行不被认为是相等的。

  • 如果一种是一个分类数组,那么排序顺序由类别的顺序确定。要查看分类数组的排序顺序,请使用类别功能。

一种也可以是具有以下类方法的对象:

  • 种类(或者sortrows'行'选项)

  • NE.

对象类方法必须彼此一致。这些对象包括来自相同根类的异构阵列。例如,一种可以是图形对象的句柄数组。

订单标志,指定为'排序'或者'稳定的',表示值(或行)的顺序C

国旗 描述

'排序'

值(或行)C按照返回的排序订单返回种类

例子

C = unique([5 5 3 4],'排序'
答案:C

'稳定的'

值(或行)C按照与in相同的顺序返回一种

例子

C = unique([5 5 3 4],'稳定的'
c = 5 3 4

数据类型:字符|细绳

出现标志,指定为'第一的'或者'最后的'表明,是否IA.应包含在重复的值中找到的第一个或最后一个指数一种

出现国旗 意义
'最后的' 如果有重复的值(或行)一种, 然后IA.包含重复值最后一次出现的索引。例如:[C,IA,IC] =独特([9 9 9],'最后','遗留')回报IA = 3..时,这是默认行为'遗产'指定标志。
'第一的' 如果有重复的值(或行)一种, 然后IA.包含对重复值的第一次出现的索引。例如:[C,IA,IC] =独特([9 9 9],'第一')回报ia = 1.这是默认行为。

数据类型:字符|细绳

输出参数

全部收缩

独特的数据一种,返回为阵列。班级C与输入的类相同一种.形状C取决于输入是矢量还是矩阵:

  • 如果是'行'标志未指定和一种是一排矢量,然后C是一排矢量。

  • 如果是'行'标志未指定和一种那时不是一排矢量C是一个列向量。

  • 如果是'行'指定标志,然后C一个矩阵是否包含唯一的行一种

指数到一种,作为索引的列向量第一个反复元素的发生。当。。。的时候'遗产'标志被指定,IA.是一排矢量,包含索引最后的反复元素的发生。

这些指标一般满足C = (ia).如果一种是一张桌子,或者如果是'行'然后,指定选项c = a(ia,:)

指数到C时作为列向量返回'遗产'未指定标志。我知道了包含满足以下属性的索引。

  • 如果一种是一个矢量,然后一个= C(集成电路)

  • 如果一种是矩阵还是数组A(:) = C(IC)

  • 如果一种是一张桌子,或者如果是'行'然后,指定选项: = C(集成电路)

提示

  • uniquetol.使用公差找到独特的浮点数。

  • 要在相对于变量子集中查找表或时间表中的唯一行,您可以使用列数据。例如,您可以使用独特(A(:,vars.))),在那里vars.是正整数,正整数的矢量,变量名称,变量名称的单元格数组,或逻辑向量。或者,您可以使用vartype.创建选择指定类型变量的下标。

扩展能力

在R2006A之前介绍