文件帮助中心文件
数组中的唯一值
c =唯一(a)
c =唯一(a,setOrder)
C =独特(发生)
c =唯一(a,___, '行')
c =唯一(a,'行',___)
[C ia ic] =独特(___)
[C,IA,IC] =独特(A,'遗留')
[c,ia,ic] =唯一(a,'行','遗留')
[C,IA,IC] =独特(A,发生,'遗留')
[c,ia,ic] =唯一(a,'行',发生,'遗留')
例子
C=唯一(一种)返回与相同的数据一种,但没有重复。C按顺序排列。
C=唯一(一种)
C
一种
如果一种是一个表或时间表,然后独特返回唯一行一种按排序顺序。对于时间表,独特在确定行是否唯一时,考虑行时间和行值,并对输出时间表进行排序C按行时间。
独特
如果一种是一个分类数组,那么排序顺序由类别的顺序确定。
C=唯一(一种那setOrder)返回唯一的值一种以特定的顺序。setOrder可'排序'(默认)或'稳定的'.
C=唯一(一种那setOrder)
setOrder
'排序'
'稳定的'
C=唯一(一种那发生)指定在重复值的情况下返回哪些索引。发生可'第一的'(默认)或'最后的'.
C=唯一(一种那发生)
发生
'第一的'
'最后的'
C=唯一(一种那___那'行')和C=唯一(一种那'行'那___)对待每行一种作为一个实体并返回唯一行一种按排序顺序。您必须指定一种并且可选择可以指定setOrder或者发生.
C=唯一(一种那___那'行')
'行'
C=唯一(一种那'行'那___)
这'行'选项不支持单元格数组。万博1manbetx
[C那IA.那我知道了] =独特(___)也返回索引向量IA.和我知道了使用以前的任何语法。
[C那IA.那我知道了] =独特(___)
IA.
我知道了
如果一种是一个矢量,然后C = (ia)和一个= C(集成电路).
C = (ia)
一个= C(集成电路)
如果一种是矩阵还是数组C = (ia)和A(:) = C(IC).
A(:) = C(IC)
如果是'行'然后,指定选项c = a(ia,:)和: = C(集成电路).
c = a(ia,:)
: = C(集成电路)
如果一种是桌子还是时刻表c = a(ia,:)和: = C(集成电路).
[C那IA.那我知道了] =独特(一种,'遗产')那[C那IA.那我知道了] =独特(一种、“行”、“遗产”)那[C那IA.那我知道了] =独特(一种那发生,'遗产'),和[C那IA.那我知道了] =独特(一种“行”,发生,'遗产')保留行为独特来自R2012B和先前版本的功能。
[C那IA.那我知道了] =独特(一种,'遗产')
[C那IA.那我知道了] =独特(一种、“行”、“遗产”)
[C那IA.那我知道了] =独特(一种那发生,'遗产')
[C那IA.那我知道了] =独特(一种“行”,发生,'遗产')
这'遗产'选项不支持分类数组、日期时间数组万博1manbetx、持续时间数组、calendarDuration数组、表或时间表。
'遗产'
全部收缩
定义具有重复值的向量。
a = [9 2 9 5];
找到唯一的值一种.
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 =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
找到唯一的值一种和指数向量IA.和我知道了,这样C = (ia)和一个= C(集成电路).
[C, ia, ic] = unique(A)
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作为第二个输入,使得该功能计数重复的下标我知道了.总结结果。
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,'排序')
定义包含的向量南.
南
a = [5 5南楠];
C =1×35南南
独特对待南值截然不同。
创建矢量X.获得第二个向量y通过转换和未转变X.这种转变介绍了圆截止差异y.
X
y
x =(1:6) *π;y = 10 ^ log10 (x);
验证X和y通过取差得到的结果并不相同。
X-Y.
ans =.6×110.-14年×0.0444 0 0 0 0 0 -0.3553
用独特在连接载体中找到唯一的元素[x; y].这独特函数执行精确比较并确定其中的一些值X不完全等于值y.这些是具有非零差异的相同元素X-Y..因此,C包含值出现要重复。
[x; y]
c =唯一([x; y])
c =8×13.1416 3.1416 6.2832 9.4248 12.5664 15.7080 18.8496 18.8496
用uniquetol.使用小公差来执行比较。uniquetol.将容差的元素视为平等。
uniquetol.
c = Uniquetol([x; y])
C =6×13.1416 6.2832 9.4248 12.5664 15.7080 18.8496
创建一个字符向量的单元格数组。
一个= {'一'那'二'那'22'那'一'那'二'};
中包含的唯一字符向量一种.
C =1x4细胞{'One'} {'One'} {' 22 '} {'two'}
创建一个字符向量的单元格数组,一种,其中一些矢量有尾随空格。
一个= {'狗'那'猫'那'鱼'那'马'那'狗 '那'鱼 '};
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为'行'选项)
种类
sortrows
NE.
对象类方法必须彼此一致。这些对象包括来自相同根类的异构阵列。例如,一种可以是图形对象的句柄数组。
订单标志,指定为'排序'或者'稳定的',表示值(或行)的顺序C.
值(或行)C按照返回的排序订单返回种类.
C = unique([5 5 3 4],'排序')
答案:C
值(或行)C按照与in相同的顺序返回一种.
C = unique([5 5 3 4],'稳定的')
c = 5 3 4
数据类型:字符|细绳
字符
细绳
出现标志,指定为'第一的'或者'最后的'表明,是否IA.应包含在重复的值中找到的第一个或最后一个指数一种.
[C,IA,IC] =独特([9 9 9],'最后','遗留')
IA = 3.
[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.创建选择指定类型变量的下标。
独特(A(:,vars.)))
vars.
vartype.
此功能支持具有限制的高阵列:万博1manbetx
对于高版本和高表目,请使用语法:
[C,IA,IC] =独特(A)
对于高矩阵,使用语法:
c =唯一(a,'行')
[c,ia,ic] =唯一(a,'行')
有关更多信息,请参见用于内存不足数据的高数组.
用法说明和限制:
代码生成不支持第一个参数的单元格数组。万博1manbetx
当不指定'行'选择:
输入一种一定是向量。如果您指定了'遗产'选项,输入一种必须是一排矢量。
可变尺寸行向量的第一尺寸必须具有固定长度1.可变尺寸列向量的第二维度必须具有固定长度1。
输入[]不支持。万博1manbetx例如,使用1 × 0或0 × 1输入,0 (1,0),表示空集。
[]
0 (1,0)
如果您指定了'遗产'选项,然后空输出是行向量,1-by-0。它们永远不会0-by-0。
当您指定两者时'行'选择和选择'遗产'选项,输出IA.和我知道了是列向量。如果这些输出是空的,那么它们也是0×1,即使输出也是如此C是0-by-0。
当。。。的时候setOrder不是'稳定的'或者当您指定时'遗产'选项,输入一种必须已经按升序排序。第一个输出,C,按升序排序。
复杂的输入必须是单身的或者双.
单身的
双
这'遗产'不支持国旗。万博1manbetx
不支持64位整数。万博1manbetx
有关更多信息,请参见在GPU上运行matlab函数(并行计算工具箱).
此函数完全支持分布式数组。万博1manbetx有关更多信息,请参见使用分布式阵列运行MATLAB函数(并行计算工具箱).
相交|ismember.|订购|setdiff.|setxor.|种类|联盟|uniquetol.
相交
ismember.
订购
setdiff.
setxor.
联盟
您有这个示例的一个修改版本。要用编辑打开这个例子吗?
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。万博1manbetx
选择一个网站,以便在可用的地方进行翻译的内容,并查看本地活动和优惠。根据您的位置,我们建议您选择:.
您还可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。
与当地办事处联系