两个数组的交集集合
创建两个具有共同行的表。
=表([1:5]”,直言({“一个”;“B”;“C”;' D ';“E”})、逻辑([0,1,0,1,0]))
A =5×3表Var1 Var2 Var3 ____ ____ _____ 1 A false 2 B true 3 C false 4 D true 5 E false
b =表([1:2:10]',分类({“一个”;“C”;“E”;‘G’;“我”})、逻辑(0(5、1)))
B =5×3表Var1 Var2 Var3 ____ ____ _____ 1 A假3 C假5 E假7 G假9 I假
找出两者共有的行一种
和B.
。
C =相交(A, B)
C =3×3表Var1 Var2 Var3 ____ ____ _____ 1 A假3 C假5 E假
创建两个具有相同值的向量。
A = [7 1 7 7 4];B = [7 0 4 4 0];
找出两者共同的值一种
和B.
,以及指标向量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表性别年龄身高______ ___ ______泰德M 27 74弗雷德M 52 68贝蒂F 31 64鲍勃M 46 61朱迪F 35 64
创建一个表,B.
与之相同的是一种
。
B =表(分类({“F”;“米”;“F”;“F”}),...[31; 47; 35; 23], [64; 68; 62; 58],...“VariableNames”,{“性别”“年龄”“高度”},...“RowNames”,{梅格的“乔”“贝丝”“艾米”})
B =4×3表性别年龄高度______ ___ ______MEG F 31 64 joe m 47 68 beth f 35 62 amy f 23 58
找出两者共有的行一种
和B.
,以及指标向量IA.
和IB.
,这样: C = (ia)
和C = B(IB,:)
。
[C ia ib] =相交(A, B)
C =1×3表性别年龄高度_________ ______贝蒂F 31 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];
找出两者共有的行一种
和B.
以及指标向量IA.
和IB.
,这样: C = (ia)
和C = B(IB,:)
。
[c,ia,ib] =相交(a,b,'行')
C =2×31 2 3 2 2 2
ia =2×13个1
ib =2×11 2
一种
和B.
不需要具有相同数量的行,但它们必须具有相同数量的列。
使用setOrder
参数指定值的排序C
。
指定'稳定的'
如果你想要值C
有与…相同的顺序一种
。
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
创建两个包含的向量南
。
A = [5 NaN NaN];B = [5 NaN NaN];
找出两者共同的值一种
和B.
。
C =相交(A, B)
C = 5.
相交
对待南
价值观是截然不同的。
创建一个字符向量的单元格数组,一种
。
一个= {'狗'那“猫”那“鱼”那'马'};
创建一个字符向量的单元格数组,B.
,其中一些矢量有尾随空格。
B = {“狗”那“猫”那'鱼 '那'马'};
找出两者共有的字符向量一种
和B.
。
[C ia ib] =相交(A, B)
C =1x2细胞{'cat'} {'horse'}
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 =“双”
找出两者共同的值一种
和B.
。
[C ia ib] =相交(A, B)
C =3 x1 char数组“A”“B”“C”
ia =3×11 2 3
ib =3×11 3 5
相交
解释B.
作为字符数组,并返回字符数组,C
。
班级(c)
ans = '字符'
创建一个包含三个字母的动物名称的字符向量。
= ('狗';“猫”;“狐狸”;“猪”];类(一)
ans = '字符'
创建包含不同长度动物名称的字符向量单元数组。
B = {“猫”那'狗'那“鱼”那'马'};类(B)
ans =“细胞”
找出两者共有的字符向量一种
和B.
。
C =相交(A, B)
C =2 x1细胞{'猫狗'}
结果,C
,是字符向量的单元格数组。
班级(c)
ans =“细胞”
使用“遗产”
国旗的行为保存相交
来自R2012B和代码中的先前版本。
求交点一种
和B.
随着当前的行为。
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
-输入阵列输入数组,指定为数字数组、逻辑数组、字符数组、字符串数组、类别数组、日期时间数组、持续时间数组、字符向量单元格数组、表或时间表。如果指定'行'
选项,一种
和B.
必须有相同的列数。
一种
和B.
必须具有以下异常的同一类:
逻辑
那字符
,所有数字类都可以与之结合双
数组。
字符向量的单元格数组可以与字符数组或字符串数组组合。
分类阵列可以与字符数组,字符向量的单元格阵列或字符串数组组合。
DateTime阵列可以与日期字符向量或单日日期矢量的单元格阵列组合。
还有额外的要求一种
和B.
根据数据类型:
如果一种
和B.
是序列分类阵列,它们必须具有相同的类别,包括其订单。如果既不是一种
也不B.
是序号,它们不需要具有相同的类别集,并且使用类别名称进行比较。在这种情况下,类别C
分类的并集从哪里来一种
和B.
。
如果一种
和B.
是表或时间表,它们必须具有相同的变量名称(订单除外)。对于表,忽略行名称,因此具有相同的两行具有相同值但不同的名称。对于时间表,考虑行时间,因此两行具有相同值但不同的时间,不被视为相等。
如果一种
和B.
是DateTime阵列,它们必须在彼此中一致,无论是指定时区。
一种
和B.
也可以是具有以下类方法的对象:
排序
(要么sortrows
为'行'
选项)
不
对象类方法必须彼此一致。这些对象包括来自相同根类的异构阵列。例如,一种
和B.
可以是图形对象的句柄数组。
setOrder
-订单的旗帜“排序”
(默认)|'稳定的'
订单标志,指定为“排序”
或'稳定的'
,表示值(或行)的顺序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 |
数据类型:字符
|字符串
C
-通用数据一种
和B.
公共数据一种
和B.
,以向量、矩阵或表的形式返回。如果输入一种
和B.
是表还是时间表,那么变量的顺序在哪里C
和变量的顺序一样吗一种
。
下面描述的形状C
当输入是向量或矩阵时“遗产”
未指定Flag:
如果是'行'
未指定Flag,则C
除非两者都是一种
和B.
是什么情况下的行向量C
是一排矢量。
如果是'行'
则指定FlagC
一个矩阵是否包含与之相同的行一种
和B.
。
输入的类一种
和B.
决定了C
:
如果类的一种
和B.
都是一样的吗C
是同一个班级。
如果你把a字符
或nondouble数字课程双
, 然后C
是与非双精度输入相同的类。
如果你把a逻辑
类双
, 然后C
是双
。
如果将字符向量的单元格数组与字符
, 然后C
是字符向量的单元格数组。
如果将分类数组与字符向量、字符向量单元格数组或字符串组合,则C
是一个类别数组。
如果将日期时间数组与日期字符向量单元格数组或单个日期字符向量组合,则C
是一个日期时间数组。
如果您将字符串数组与字符向量或字符向量数组组合,那么C
是一个字符串数组。
IA.
——指数一种
索引一种
时作为列向量返回“遗产”
未指定Flag。IA.
中的值(或行)一种
这是很常见的B.
。如果有重复值(或行)一种
, 然后IA.
包含值(或行)第一次出现的索引。
IB.
——指数B.
索引B.
时作为列向量返回“遗产”
未指定Flag。IB.
中的值(或行)B.
这是很常见的一种
。如果有重复值(或行)B.
, 然后IB.
包含值(或行)第一次出现的索引。
要找到与表或时间表相对于变量子集的交点,可以使用列数据。例如,您可以使用交叉(a(:,
,在那里var
), B (:,var
)))var
是正整数、正整数向量、变量名、变量名单元格数组或逻辑向量。或者,您可以使用vartype.
创建用于选择指定类型变量的下标。
使用注意事项及限制:
这“遗产”
不支持国旗。金宝app
这'稳定的'
当两个输入都是高数组时,金宝app不支持Flag。
输入的类型“字符”
当两个输入都是高金宝app数组时,不支持。
有关更多信息,请参见高阵列。
使用注意事项及限制:
代码生成不支持第一个或第二个参数的单元格阵列。金宝app
当您没有指定'行'
选择:
输入一种
和B.
必须向量。如果指定“遗产”
选项,输入一种
和B.
一定是行向量。
可变大小行向量的第一个维数必须固定为1。可变大小列向量的第2维必须固定长度为1。
输入[]
不支持。金宝app例如,使用1 × 0或0 × 1输入,0 (1,0)
,表示空集。
如果指定“遗产”
选项,则空输出为行向量,1 × 0。它们从不是0乘0的。
当您指定两者时“遗产”
选择和选择'行'
选择,输出IA.
和IB.
是列向量。如果这些输出为空,则它们是0乘1。它们永远不会为0-0,即使输出也是如此C
是0-by-0。
当setOrder
是“排序”
或者当你指定“遗产”
选项时,输入必须已经按升序排序。第一个输出,C
,按升序排序。
复杂的输入必须是单
或双
。
当一个输入是复数,而另一个输入是实数时,执行下列操作之一:
放setOrder
来'稳定的'
。
以复杂的升序(通过绝对值)对实际输入进行排序。假设真实的输入是X
。采用排序(复杂(x))
或sortrows(复杂的(x))
。
看具有零值的虚部的复杂数据的代码生成(MATLAB编码器)。
您单击了与此MATLAB命令对应的链接:
通过在MATLAB命令窗口中输入命令来运行命令。Web浏览器不支持MATLAB命令。金宝app
你也可以从以下列表中选择一个网站:
选择中国网站(以中文或英文)以获取最佳网站性能。其他MathWorks国家网站未优化您的位置。