MATLAB如何使用intersect函数计算两个集合的交集
【语法说明】
Y=intersect(a,b):a、b必须为向量,函数找到向量a、b的公共部分,并以升序的形式返回。
[Y,ia,ib]=intersect(a,b):Y为向量a、b的公共元素,ia为公共元素在 a 中的位置索引,ib 为公共元素在 b 中的位置索引,即Y=a(ia),Y=b(ib)。
Y=intersect(A,B,‘rows’):A、B为相同列数的矩阵或长度相等的行向量,Y返回完全相等的行。
[Y,ia,ib]=intersect(a,b,‘rows’):Y为矩阵a、b的公共行,ia为公共行在 a 中的位置索引,ib 为公共行在 b 中的位置索引,即Y=a(ia,:),Y=b(ib,:)。
Y=intersect(ca,cb)或Y=intersect(ca,cb,‘rows’):a、b必须为字符串构成的细胞数组,Y返回细胞数组中相同的字符串,rows参数将被忽略,并给出警告信息。
【功能介绍】计算两个集合的交集,可以计算向量之间的公共元素,也可以计算矩阵的公共行、细胞数组的公共字符串。
【实例】找出矩阵 A、B 中相同的行,并给出这些行在 A中的位置。
>> A=[2 4 6;1 3 5;7 9 8] % 矩阵A
A =
2 4 6
1 3 5
7 9 8
>> B=[1 2 3;4 5 6;7 9 8] % 矩阵B
B =
1 2 3
4 5 6
7 9 8
>> [Y,ia, ~] = intersect(A,B,'rows') % 计算公共行及其位置
Y =
7 9 8
ia =
3
【实例讲解】矩阵A 和B 公共行为[7 9 8],位于矩阵A 中的第3行。