设置两个数组的交集
创建共同的行中的两个表。
=表([1:5]”,直言({“一个”;“B”;“C”;' D ';“E”})、逻辑([0,1,0,1,0]))
A =5×3表答案:1 . A 2 . B 3 . C 4 . D 5 . E 5 . D
B =表([1:2:10]”,分类({“一个”;“C”;“E”;‘G’;“我”})、逻辑(0 (5、1)))
B =5×3表1 . A false 3 C false 5 E false 7 G false 9 I false
找到两者共有的行一个
和乙
。
C =相交(A, B)
C =3×3表答案:1 . C 2 . C 3 . C 5 . E 5 . C
创建两个具有相同值的向量。
A = [7 1 7 7 4];B = [7 0 4 4 0];
找到两者共有的值一个
和乙
,以及索引向量IA
和IB
,这样C = (ia)
和C = B(IB)
。
[C ia ib] =相交(A, B)
C =1×24个7
ia =2×15个1
ib =2×13个1
创建一个表,一个
五个人的性别、年龄和身高。
A =表(分类({“米”;“米”;“F”;“米”;“F”}),...[27;52;31;46;35],[74;68;64;61;64),...“VariableNames”,{“性别”“年龄”“高度”},...“RowNames”,{“泰德”“弗雷德”“贝蒂”“鲍勃”“朱迪”})
A =5×3表性别,年龄,身高,身高,身高,身高,身高,身高,身高,身高,身高,身高,身高,身高,身高,身高
创建一个表,乙
,有共同的争吵一个
。
B =表(分类({“F”;“米”;“F”;“F”}),...[31;47;35;23],[64;68;62;58],...“VariableNames”,{“性别”“年龄”“高度”},...“RowNames”,{梅格的“乔”“贝丝”“艾米”})
B =4×3表性别年龄身高______ ___ ______梅格˚F31 64乔中号47 68贝丝接口35 62艾米˚F23 58
找到两者共有的行一个
和乙
,以及索引向量IA
和IB
,这样:C = (ia)
和C = B(1B,:)
。
[C ia ib] =相交(A, B)
C =1×3表性别年龄身高______ ___ ______贝蒂˚F31 64
ia = 3
IB = 1
具有相同值但名称不同的两行被认为是相等的。因此,我们发现贝蒂,(3:)
梅格,:B (1)
具有相同的性别,年龄和身高。
创建两个矩阵与普通行。
A = [2 2 2;0 0 1;1 2 3;1 1 1];B = [1 2 3;2 2 2;2 2 0];
找到两者共有的行一个
和乙
以及索引向量IA
和IB
,这样:C = (ia)
和C = B(1B,:)
。
[C,IA,IB] =相交(A,B,“行”)
C =2×31 2 3 2 2 2
ia =2×13个1
ib =2×11 2
一个
和乙
不需要有相同的行数,但它们必须具有相同的列数。
使用setOrder
参数指定的值的顺序C
。
指定'稳定'
如果你想在值C
与in的顺序相同一个
。
A = [7 1 7 7 4];B = [7 0 4 4 0];[C,IA,IB] =相交(A,B,'稳定')
C =1×27 4
ia =2×11 5
ib =2×11 3
或者,你可以指定“排序”
秩序。
[C,IA,IB] =相交(A,B,“排序”)
C =1×24个7
ia =2×15个1
ib =2×13个1
创建一个包含两个向量为NaN
。
A = [5 NaN NaN];B = [5 NaN NaN];
找到两者共有的值一个
和乙
。
C =相交(A, B)
C = 5
相交
对待为NaN
价值观是截然不同的。
创建一个字符向量的单元数组,一个
。
一个= {'狗',“猫”,“鱼”,'马'};
创建一个字符向量的单元数组,乙
其中一些矢量的已尾部的空白。
B = {“狗”,“猫”,“鱼”,'马'};
找出两者共有的字符向量一个
和乙
。
[C ia ib] =相交(A, B)
C =1x2的细胞{ '猫'} { '马'}
ia =2×12 4
ib =2×12 4
相交
将字符向量的单元数组中的尾随空格视为不同的字符。
创建一个列向量字符数组。
= (“一个”;“B”;“C”),类(一)
A =3 x1 char数组“A”“B”“C”
ans = '字符'
创建含有数字类型的元素的2×3矩阵双
。
B = [65 66 67 68 69 70],类(B)
B =2×365 66 67 68 69 70
ans =“双”
找到两者共有的值一个
和乙
。
[C ia ib] =相交(A, B)
C =3 x1 char数组“A”“B”“C”
ia =3×11 2 3
ib =3×11 3 5
相交
解释乙
作为字符数组并返回字符数组,C
。
类(C)
ans = '字符'
创建一个包含三个字母的动物名称的字符向量。
= ('狗';“猫”;“狐狸”;“猪”];类(一)
ans = '字符'
创建包含不同长度的动物名称的字符向量的单元数组。
B = {“猫”,'狗',“鱼”,'马'};类(B)
ans =“细胞”
找出两者共有的字符向量一个
和乙
。
C =相交(A, B)
C =2 x1细胞{'猫狗'}
结果,C
,是字符向量的单元数组。
类(C)
ans =“细胞”
使用“遗产”
标记来保存的行为相交
从R2012b并在代码中以前的版本。
求出一个
和乙
与当前的行为。
A = [7 1 7 7 4];B = [7 0 4 4 0];[C1, ia1 ib1] =相交(A, B)
C1 =1×24个7
ia1 =2×15个1
ib1 =2×13个1
找到独特的元素一个
并保留遗留行为。
[C2, ia2 ib2] =相交(A, B,“遗产”)
C2 =1×24个7
ia2 =1×25个4
ib2 =1×24个1
A、B
-输入数组输入数组,指定为数字数组、逻辑数组、字符数组、字符串数组、分类数组、日期时间数组、持续时间数组、字符向量单元数组、表或时间表。如果你指定“行”
选项,一个
和乙
必须具有相同数量的列。
一个
和乙
必须符合下列情况除外同一类:
合乎逻辑
,字符
和所有的数字类可以用结合双
数组。
字符向量的单元数组可以与字符数组或字符串数组组合。
分类阵列可以与字符数组,字符向量的单元阵列,或串阵列组合。
日期时间的阵列可以与日期字符载体或单个日期字符向量的单元阵列相结合。
有额外的要求一个
和乙
基于数据类型:
如果一个
和乙
都是有序分类阵列,它们必须具有相同的套类,包括它们的顺序。如果没有一个
也不乙
是序号,它们不需要具有相同的类别集,并且使用类别名称执行比较。在本例中,是C
类别的已排序并集是从哪里来的一个
和乙
。
如果一个
和乙
是表或时间表,它们必须具有相同的变量名称(除顺序)。对于表,列名会被忽略,从而使具有相同的值,但不同的名称有两行,被认为是相等的。对于时间表,行时间考虑在内,从而使具有相同的值,但不同的时代有两行,是不相等。
如果一个
和乙
有日期时间排列,它们必须与他们是否指定时区相互一致。
一个
和乙
也可以是具有以下类方法的对象:
排序
(要么sortrows
为“行”
选项)
不
对象类的方法必须是相互一致。这些对象包括从相同的根类派生异构阵列。例如,一个
和乙
可以是图形对象的句柄数组。
setOrder
-订单的旗帜“排序”
(默认)|'稳定'
Order标记,指定为“排序”
或'稳定'
中,指示值(或行)的顺序C
。
国旗 | 描述 |
---|---|
“排序” |
其中的值(或行) 例 C = intersect([7 0 1 5],[0 2 7 5],“排序”)
C = 0 5 7 |
'稳定' |
其中的值(或行) 例 C = intersect([7 0 1 5],[0 2 7 5],'稳定')
C = 7 0 5 |
数据类型:字符
|字符串
C
-共用数据一个
和乙
公共数据一个
和乙
,以向量、矩阵或表的形式返回。如果输入一个
和乙
表或时间表,然后变量的顺序C
是否与变量的顺序相同一个
。
下面描述的形状C
当输入是向量或矩阵时“遗产”
没有指定标记:
如果“行”
那么,没有指定标记C
是一个列向量,除非两个一个
和乙
是行向量,在这种情况下C
是一个行向量。
如果“行”
然后指定标记C
一个矩阵是否包含共同的行一个
和乙
。
类的输入一个
和乙
确定C
:
如果类的一个
和乙
是一样的吗C
是同一个类。
如果你把字符
或nondouble数字类双
, 然后C
是与非双输入相同的类。
如果你把合乎逻辑
类双
, 然后C
是双
。
如果将字符向量的单元数组与字符
, 然后C
是字符向量的单元数组。
如果将类别数组与字符向量、字符向量的单元数组或字符串组合,则C
是一个范畴数组。
如果将日期时间数组与日期字符向量或单个日期字符向量的单元数组组合,则C
是一个日期时间数组。
如果合并一个字符串数组与字符向量或特征向量的单元阵列,然后C
是一个字符串数组。
IA
——指数一个
索引一个
时,作为列向量返回“遗产”
没有指定标记。IA
标识其中的值(或行)一个
是很常见的乙
。如果有重复的值(或行)中一个
, 然后IA
包含值(或行)第一次出现的索引。
IB
——指数乙
索引乙
时,作为列向量返回“遗产”
没有指定标记。IB
标识其中的值(或行)乙
是很常见的一个
。如果有重复的值(或行)中乙
, 然后IB
包含值(或行)第一次出现的索引。
为了找到关于该路口的变量表或时间表的一个子集,你也可以使用列下标。例如,你可以使用交叉(A(:,
,在那里var
),B (:,var
))var
是正整数、正整数向量、变量名、变量名单元数组或逻辑向量。或者,您可以使用VARTYPE
创建选择指定类型变量的下标。
使用说明及限制:
该“遗产”
不支持标志。万博1manbetx
该'稳定'
当两个输入都是高数组时,万博1manbetx不支持标记。
输入的类型“字符”
当两个输入都是高万博1manbetx数组时不受支持。
有关更多信息,请参见高大的数组。
使用说明及限制:
代码生成不支持单元阵列为第一或第二参数。万博1manbetx
当您不指定“行”
选择:
输入一个
和乙
必须向量。如果你指定“遗产”
选项,输入一个
和乙
必须是行向量。
可变大小的行向量的第一个维的长度必须是固定的1。可变大小列向量的第二维的长度必须是固定的1。
输入[]
不支持。万博1manbetx使用1×0或0×1的输入,例如,0 (1,0)
,表示空集。
如果你指定“遗产”
选项,则空输出为行向量,1×0。它们从来不是0乘0的。
当你同时指定“遗产”
选项和“行”
选择,输出IA
和IB
是列向量。如果这些输出都是空的,它们是0×1。他们从来0按0,即使输出C
是0逐0。
当setOrder
是“排序”
或者当你指定“遗产”
选项,输入必须已经按升序排序。第一个输出,C
,是按升序排序。
复杂的输入必须单
或双
。
当一个输入是复杂的,而另一个输入是实数时,执行下列操作之一:
组setOrder
来'稳定'
。
排序复杂升序实际输入(按绝对值)。假设实际输入X
。用排序(复合物(X))
或sortrows(复杂的(x))
。
看到代码生成复杂数据与零值的虚部(MATLAB编码器)。
您单击对应于该MATLAB命令的链接:
通过在MATLAB命令窗口中输入该命令来运行它。Web浏览器不支持MATLAB命令。万博1manbetx
你也可以从以下列表中选择一个网站:
选择最佳的网站性能的中国网站(在中国或英文)。其他MathWorks的国家网站都没有从您的位置访问进行了优化。