文档帮助中心文档
数组中的唯一值
C =独特(A)
C =独特(setOrder)
C =独特(发生)
C =独特(,___, '行')
C =独特(A,“行”,___)
[C ia ic] =独特(___)
[C ia ic] =独特(A,“遗产”)
[C ia ic] =独特(“行”,“遗产”)
[C ia ic] =独特(发生,“遗产”)
[C ia ic] =独特(‘行’,发生,“遗产”)
例子
C=独特(一个)返回与一个,但没有重复。C是有序的。
C=独特(一个)
C
一个
如果一个那么,是桌子还是时刻表独特的返回唯一的行一个在排序顺序。的航班时刻表,独特的在确定行是否唯一时,考虑行时间和行值,并对输出时间表进行排序C行乘以。
独特的
如果一个是一个类别数组,则排序顺序由类别的顺序决定。
C=独特(一个,setOrder)的唯一值一个以特定的顺序。setOrder可以“排序”(默认)或“稳定”.
C=独特(一个,setOrder)
setOrder
“排序”
“稳定”
C=独特(一个,发生)指定在重复值的情况下返回哪些索引。发生可以“第一”(默认)或“最后一次”.
C=独特(一个,发生)
发生
“第一”
“最后一次”
C=独特(一个,___,“行”)和C=独特(一个,“行”,___)处理每一行一个作为一个单独的实体,并返回一个在排序顺序。您必须指定一个并且可以选择指定setOrder或发生.
C=独特(一个,___,“行”)
“行”
C=独特(一个,“行”,___)
的“行”选项不支持单元格数组。金宝app
[C,ia,集成电路) =独特(___)也返回索引向量ia和集成电路使用任何前面的语法。
[C,ia,集成电路) =独特(___)
ia
集成电路
如果一个是向量吗C = (ia)和一个= C(集成电路).
C = (ia)
一个= C(集成电路)
如果一个是矩阵还是数组C = (ia)和(,) = C (ic).
(,) = C (ic)
如果“行”选项,则: C = (ia)和: = C(集成电路).
: C = (ia)
: = C(集成电路)
如果一个那么,是桌子还是时刻表呢: C = (ia)和: = C(集成电路).
[C,ia,集成电路) =独特(一个“遗产”),[C,ia,集成电路) =独特(一个、“行”、“遗产”),[C,ia,集成电路) =独特(一个,发生“遗产”),[C,ia,集成电路) =独特(一个“行”,发生“遗产”)保持行为独特的函数从R2012b和以前的版本。
[C,ia,集成电路) =独特(一个“遗产”)
[C,ia,集成电路) =独特(一个、“行”、“遗产”)
[C,ia,集成电路) =独特(一个,发生“遗产”)
[C,ia,集成电路) =独特(一个“行”,发生“遗产”)
的“遗产”选项不支持分类数组、日期时间数组金宝app、持续时间数组、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);一个=表(年龄、身高、体重、“RowNames”、名称)
一个=5×3表年龄身高体重___ ______ ______ Fred 38 71 176贝蒂43 69 163鲍勃38 64 131乔治40 67 185简38 64 131
求的唯一行一个.独特的返回一个按第一个变量排序年龄然后是第二个变量高度.
年龄
高度
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
的唯一值一个指标向量ia和集成电路,这样C = (ia)和一个= C(集成电路).
[C, ia, ic] =唯一的(A)
ia =3×12 4 1
ic =4×13 1 3 2
创建一个带有重复行的10 × 3矩阵。
A =兰迪(3 10 3)
一个=10×33 1 2 3 3 1 1 3 3 3 3 3 3 3 3 1 1 3 3 1 1 3 1 2 3 3 3 3 3 1 1 3 1 2 3 3 3 3 3 3 3 3 1 1 2 3 3 3 3 3 3 1 1 2 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 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 3 3 3 1 2 3 3 3 1 2 3 3 3 1 2 3 3 3 1 2 3 3 3 1
找到向量中唯一的元素,然后使用accumarray计算每个唯一元素出现的次数。
accumarray
创建一个从1到5的随机整数向量。
A = randi([1 5],200,1);
找出向量中唯一的元素。返回索引向量ia和集成电路.
[C ia ic] =独特的(一个);
计算每个元素进入的次数C出现在一个.指定集成电路作为第一个输入accumarray和1作为第二个输入,以便函数计算重复下标集成电路.总结结果。
1
a_counts = accumarray (ic, 1);[C, a_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] =唯一的“稳定”)
C =1×39 2 5
ia =3×11 2 4
ic =4×11 2 1 3
或者,您可以指定“排序”秩序。
[C, ia, ic] =唯一的“排序”)
定义一个包含南.
南
A = [5 5 NaN NaN];
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.3553
使用独特的查找连接的向量中唯一的元素(x, y).的独特的函数执行精确比较并确定x不完全等于y.这些元素的差是非零的x - y.因此,c包含值出现是重复的。
(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将公差范围内的元素同等对待。
uniquetol
C = uniquetol ((x, y))
C =6×13.1416 6.2832 9.4248 12.5664 15.7080 18.8496
创建字符向量的单元格数组。
一个= {“一个”,“两个”,“22”,“一个”,“两个”};
找到包含的唯一字符向量一个.
C =1 x4单元格{'One'} {'One'} {' 22 '} {'two'}
创建一个字符向量的单元格数组,一个,其中一些向量的末尾有空白。
一个= {“狗”,“猫”,“鱼”,“马”,“狗”,“鱼”};
C =1 x6单元格{“猫”}{‘狗’}{‘狗’}{‘鱼’}{‘鱼’}{'马'}
独特的将字符向量单元格数组的尾随空格视为不同的字符。
使用“遗产”国旗的行为保存独特的从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] = unique(A,“遗产”)
C2 =1×32 5 9
ia2 =1×32 4 3
ic2 =1×43 1 3 2
输入数组。
如果一个那么,是一张桌子吗独特的做不考虑行名。具有相同值但名称不同的两行被认为是相等的。
如果一个那么,有时间表吗独特的考虑行时间。具有相同值但时间不同的两行被认为不相等。
如果一个是一个类别数组,则排序顺序由类别的顺序决定。要查看类别数组的排序顺序,请使用类别函数。
类别
一个也可以是具有以下类方法的对象:
排序(或sortrows为“行”选项)
排序
sortrows
不
对象类方法必须彼此一致。这些对象包括来自同一根类的异构数组。例如,一个可以是图形对象句柄数组。
订单标志,指定为“排序”或“稳定”中值(或行)的顺序C.
中的值(或行)C按返回的排序顺序返回排序.
C = unique([5 5 3 4],“排序”)
5 .答案:C
中的值(或行)C以相同的顺序返回一个.
C = unique([5 5 3 4],“稳定”)
4 .选C
数据类型:字符|字符串
字符
字符串
出现标志,指定为“第一”或“最后一次”表明,是否ia是否应该包含第一个或最后一个索引的重复值在一个.
[C,ia,ic] = unique([9 9 9],'last','legacy')
ia = 3
[C,ia,ic] = unique([9 9 9],'first')
ia = 1
独特的数据一个,作为数组返回。的类C是否与输入的类相同一个.的形状C取决于输入是向量还是矩阵:
如果“行”未指定标志一个是行向量吗C是一个行向量。
如果“行”未指定标志一个不是行向量吗C是一个列向量。
如果“行”则指定FlagC一个矩阵是否包含唯一的行一个.
索引一个的索引列向量返回第一个重复元素的出现。当“遗产”指定标记,ia的行向量是否包含索引去年重复元素的出现。
指标一般满足C = (ia).如果一个是一张桌子,还是“行”选项,则: C = (ia).
索引C时作为列向量返回“遗产”未指定Flag。集成电路包含满足以下属性的索引。
如果一个是向量吗一个= C(集成电路).
如果一个是矩阵还是数组(,) = C (ic).
如果一个是一张桌子,还是“行”选项,则: = C(集成电路).
使用uniquetol使用公差查找唯一的浮点数。
要在表或时间表中找到与变量子集相关的唯一行,可以使用列下标。例如,你可以用独特的((:,var)),在那里var是正整数、正整数向量、变量名、变量名单元格数组或逻辑向量。或者,您可以使用vartype创建用于选择指定类型变量的下标。
独特的((:,var))
var
vartype
这个函数支持长数组,但有以下金宝app限制:
对于高向量和高表,使用语法:
[C ia ic] =独特(A)
对于高矩阵,使用语法:
C =独特(“行”)
[C ia ic] =独特(“行”),
有关更多信息,请参见用于内存不足数据的高数组.
使用注意事项及限制:
代码生成不支持第一个参数的单元格数组。金宝app
当您没有指定“行”选择:
输入一个一定是一个向量。如果指定“遗产”选项,输入一个必须是一个行向量。
可变大小行向量的第一个维数必须固定为1。可变大小列向量的第2维必须固定长度为1。
输入[]不支持。金宝app例如,使用1 × 0或0 × 1输入,0 (1,0),表示空集。
[]
0 (1,0)
如果指定“遗产”选项,则空输出为行向量,1 × 0。它们从不是0乘0的。
当你指定两个“行”选择和“遗产”选择,输出ia和集成电路是列向量。如果这些输出是空的,那么它们是0乘1的,即使输出C0-by-0。
当setOrder不是“稳定”或者当你指定“遗产”选项,输入一个必须已经按升序排序。第一个输出,C,按升序排序。
复杂输入必须是单或双.
单
双
backgroundPool
ThreadPool
这个函数完全支持基于线程的环境。金宝app有关更多信息,请参见在线程环境中运行MATLAB函数.
的“遗产”不支持Flag。金宝app
不支持64位整数。金宝app
有关更多信息,请参见在GPU上运行MATLAB函数(并行计算工具箱).
该函数完全支持分布式数组。金宝app有关更多信息,请参见使用分布式数组运行MATLAB函数(并行计算工具箱).
联盟|相交|ismember|issorted|setdiff|setxor|排序|uniquetol
联盟
相交
ismember
issorted
setdiff
setxor
您有这个示例的修改版本。您想打开这个示例与您的编辑吗?
你点击一个链接对应于这个MATLAB命令:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
选择一个网站,在那里获得翻译的内容,并看到当地的活动和优惠。根据您的位置,我们建议您选择:.
你也可以从以下列表中选择一个网站:
选择中国网站(中文或英文)以获得最佳网站性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。
与当地办事处联系