MATLAB如何使用unique函数取集合的单值元素

2020年12月21日00:27:54MATLAB如何使用unique函数取集合的单值元素已关闭评论

MATLAB如何使用unique函数取集合的单值元素

【语法说明】

Y=unique(A):A可以是任意形状的向量、矩阵或数组,向量Y返回A中的所有不重复元素,并进行升序排序。当A为行向量时,Y也为行向量;当A为列向量或矩阵、多维数组时,Y为列向量。A也可以是由字符串构成的细胞数组。

Y=unique(A,‘rows’):A为矩阵,Y返回A中不重复的行组成的矩阵。

[Y,I,J]=unique(A):I为Y中的元素在A中的位置索引,即Y=A(I),J为A中的元素在Y中的位置索引,即A=Y(J)。

[Y,I,J]=unique(A,‘rows’):I为Y中的行在A中的位置索引,即Y=A(I,:),J为A中的行在Y中的位置索引,即A=Y(J,:)。

[Y,I,J]=unique(…,‘first’):计算I时,对于A中的重复元素或重复行,取其第一次出现的位置索引, [Y,I,J]=unique(A)或[Y,I,J]=unique(A,‘rows’)默认取重复元素或重复行最后一次出现时的位置索引值。

【功能介绍】取集合中的不重复元素或不重复行。

【实例】判断向量是否包含重复元素,判断细胞数组是否包含重复字符串。

>> a=1:100;   % 构造向量a

>> a(34)=25;   % 向量a包含两个25

>> isequal(unique(a),a)% unique(a)去掉了一个 25,与 a不相等

ans =

0

>> a={'abc', 'xyz', 'MATLAB', 'xyz'}; % 细胞数组a

>> isequal(unique(a),a)  % a中包含两个"xyz"

ans =

0

>> unique(a)    % unique(a)去掉了一个"xyz"

ans =

'MATLAB' 'abc' 'xyz'

【实例讲解】可以用isequal(unique(a),a)的形式判断a是否包含重复元素。

  • 版权声明:本篇文章(包括图片)来自网络,由程序自动采集,著作权(版权)归原作者所有,如有侵权联系我们删除,联系方式(QQ:452038415)。