主要内容

独特

数组中的唯一值

描述

例子

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

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

  • 如果一个是类别数组,则排序顺序由类别的顺序确定。

例子

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

C=唯一(一个发生指定在重复值的情况下返回哪些索引。发生可以“第一”(默认)或“最后一次”

例子

C=唯一(一个___“行”C=唯一(一个“行”___对待每行一个的唯一行一个在排序顺序。您必须指定一个并且可选择可以指定setOrder或者发生

“行”选项不支持单元格阵列。金宝app

Cia集成电路] =独特(___也返回索引向量ia集成电路使用以前的任何语法。

  • 如果一个是矢量吗C = (ia)一个= C(集成电路)

  • 如果一个是矩阵还是数组C = (ia)(,) = C (ic)

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

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

例子

Cia集成电路] =独特(一个,'遗产')Cia集成电路] =独特(一个、“行”、“遗产”)Cia集成电路] =独特(一个发生,'遗产'),和Cia集成电路] =独特(一个“行”,发生,'遗产')保持。的行为独特功能从R2012b和以前的版本。

'遗产'选项不支持分类数组、日期时间数组金宝app、持续时间数组、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',名称)
一个=5×3表年龄身高体重___ ______ ______弗雷德38 71 176贝蒂43 69 163鲍勃38 64 131乔治40 67 185简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 = (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 =兰迪(3 10 3)
一个=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 1 3 1 2 3 1 3 3 3 3 3 3 3 3 3 1 2 3 3 3 3 3 1 2 2 3 3 3 3 3 3 1 2 2 3 3 3 3 3 1

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

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

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

找出向量中唯一的元素。返回索引向量ia集成电路

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

计算每个元素进入的次数C出现在一个.指定集成电路作为第一个输入accumarray1作为第二个输入,使函数计数重复下标入集成电路.总结结果。

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.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 =1 x6单元格{“猫”}{‘狗’}{‘狗’}{‘鱼’}{‘鱼’}{'马'}

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

使用'遗产'标记来保持行为独特从R2012b和之前版本的代码。

找到独特的元素一个与当前行为。

A = [9 2 9 5];[C1, ia1, ic1] = unique(A)
C1 =1×32 5 9
IA1 =3×12 4 1
ic1 =4×13 1 3 2

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

[c, 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] = unique([9 9],'last','继承')返回IA = 3..时,这是默认行为'遗产'标志指定。
“第一” 中是否有重复的值(或行)一个,然后ia包含对重复值的第一次出现的索引。例如:[C,IA,IC] =独特([9 9 9],'第一')返回ia = 1.这是默认行为。

数据类型:字符|细绳

输出参数

全部折叠

独特的数据一个,以数组形式返回。的类C与输入的类相同一个.形状C取决于输入是矢量还是矩阵:

  • 如果“行”标志未指定和一个是行向量吗C是一个行向量。

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

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

指数到一个,作为索引的列向量第一个反复元素的发生。当。。。的时候'遗产'指定标记,ia一个包含指标的行向量最后的反复元素的发生。

这些指标一般满足C = (ia).如果一个是桌子,还是如果“行”然后,指定选项c = a(ia,:)

指数到C时作为列向量返回'遗产'未指定标志。集成电路包含满足下列属性的索引。

  • 如果一个是矢量吗一个= C(集成电路)

  • 如果一个是矩阵还是数组(,) = C (ic)

  • 如果一个是桌子,还是如果“行”然后,指定选项: = C(集成电路)

提示

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

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

扩展能力

在R2006A之前介绍