独特的

数组中唯一的值

描述

C=独特(一个返回相同的数据作为一个,但没有重复。C是有序的。

  • 如果一个那么,是桌子还是时间表呢独特的返回唯一的行一个在排序顺序。的航班时刻表,独特的在确定行是否惟一时,考虑行时间和行值,并对输出时间表进行排序C按行倍。

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

C=独特(一个发生指定在重复值的情况下返回哪些索引。发生'第一'(默认)或'持续'

C=独特(一个___“行”C=独特(一个“行”___处理每一行一个作为一个单一的实体,并返回的唯一行一个在排序顺序。您必须指定一个也可以指定setOrder发生

“行”选项不支持电池阵列。金宝app

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

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

  • 如果一个那么,是矩阵还是数组呢C = (ia)A(:) = C(IC)

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

  • 如果一个那么,是桌子还是时间表呢:C = (ia):= C(集成电路)

[CIA我知道了)=独特(一个“遗产”)[CIA我知道了)=独特(一个、“行”、“遗产”)[CIA我知道了)=独特(一个发生“遗产”),[CIA我知道了)=独特(一个“行”,发生“遗产”)保留的行为独特的从R2012b和以前的版本的功能。

“遗产”选项不支持类别数组、日期时间数组金宝app、持续时间数组、日历数组、表或时间表。

例子

全部收缩

限定具有重复值的矢量。

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);一个=表(年龄、身高、体重、“RowNames”、名称)
A =5×3表年龄身高体重___ ______ ______佛瑞德38 71 176 43贝蒂69 163 38鲍勃64 131 40乔治67 185 38简64 131

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

C =独特(A)
C =4×3表年龄,身高,体重,体重,鲍勃,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德,弗雷德

在第一个变量中查找具有唯一值的表行年龄。如果只希望一个表变量包含惟一的值,可以使用返回的索引独特的提取从表的行。

[C,IA] =唯一的(A.Age);B = A(IA,:)
B =3×3表年龄,身高,体重,身高,体重,体重,年龄,身高,体重,体重

限定具有重复值的矢量。

A = [9 2 9 5];

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

[C, ia, ic] =唯一的(A)
C =1×32 5 9
ia =3×12 4 1
ic =4×13 1 3 2

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

A =兰迪(3,10,3)
A =10×33 1 2 3 3 1 1 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 3 3 3 1 3 2 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

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

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

a = randi([15],200,1);

查找向量的独特元素。返回索引向量IA我知道了

[C ia ic] =独特的(一个);

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

a_counts = accumarray (ic, 1);value_count = [C, a_counts]
value_counts =5×21 46 2 36 3 38 4 39 5 41

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

指定'稳定'如果你想在值C与in的顺序相同一个

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

定义一个包含为NaN

A = [5 5 NaN NaN];

找到唯一的值一个

C =独特(A)
C =1×35楠楠

独特的对待为NaN价值观是截然不同的。

创建一个向量X。得到第二个向量ÿ通过转换和逆变形X。此转换引入了四舍五入的差异ÿ

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

验证Xÿ取差并不相同。

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

独特的找出连接向量中的唯一元素(x, y)。该独特的函数执行精确的比较并确定其中的某些值X不等于in的值吗ÿ。这些是在具有非零差异相同的元件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 =1 x4单元格{' 1 '} {' 1 '} {' 22 '} {' 2 '}

创建一个字符向量的单元数组,一个其中一些矢量的已尾部的空白。

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

找出其中包含的唯一字符向量一个

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“行”选项)

对象类的方法必须是相互一致。这些对象包括从相同的根类派生异构阵列。例如,一个可以是图形对象的句柄数组。

Order标记,指定为“排序”'稳定'中,指示值(或行)的顺序C

国旗 描述

“排序”

其中的值(或行)C以排序的顺序返回排序

C =唯一的([5 5 3 4],“排序”
C = 3 4 5

'稳定'

其中的值(或行)C返回的顺序与in相同一个

C =唯一的([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],'first')回报ia = 1。这是默认的行为。

数据类型:字符|字符串

输出参数

全部收缩

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

  • 如果“行”没有指定标记一个是一个行向量,然后C是一个行向量。

  • 如果“行”没有指定标记一个是不是一个行向量C是一个列向量。

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

索引一个的索引的列向量第一个重复元素的出现。当“遗产”被指定的标志,IA是包含索引到一个行向量去年重复元素的出现。

指数一般满足C = (ia)。如果一个是一个表,或者如果“行”然后指定选项:C = (ia)

索引C时,作为列向量返回“遗产”没有指定标记。我知道了包含满足以下属性索引。

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

  • 如果一个那么,是矩阵还是数组呢A(:) = C(IC)

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

提示

  • uniquetol使用公差查找唯一的浮点数。

  • 要查找表或时间表的独特行相对于变量的一个子集,你也可以使用列下标。例如,你可以使用独特的((:,var)),在那里var是正整数、正整数向量、变量名、变量名单元数组或逻辑向量。或者,您可以使用VARTYPE创建选择指定类型变量的下标。

扩展功能

之前介绍过的R2006a