设置两个数组的交集
C =相交(A,B)
C =相交(A,B,'rows')
[C,ia,ib] =交集(A,B)
[C,ia,ib] = cross (A,B,'rows')
[C,ia,ib] =___setOrder)
[C,ia,ib] = intersect(A,B,'legacy')
[C,ia,ib] = intersect(A,B,'rows','legacy')
创建两个具有相同行的表。
A = table([1:5]',categorical({“一个”;“B”;“C”;' D ';“E”})、逻辑([0,1,0,1,0]))
一个=5×3表Var1 Var2 Var3 ____ ____ _____ 1 A假2 B真3 C假4 D真5 E假
B = table([1:2:10]',categorical({“一个”;“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 = A(ia)
而且C = B(ib)
.
[C,ia,ib] =交集(A,B)
C =4 7
ia =5个1
ib =3个1
创建一个表格,一个
五个人的性别、年龄和身高。
A = table(category ({)“米”;“米”;“F”;“米”;“F”}),...[27; 52; 31; 46; 35], [74; 68; 64; 61; 64),...“VariableNames”, {“性别”“年龄”“高度”},...“RowNames”, {“泰德”“弗雷德”“贝蒂”“鲍勃”“朱迪”})
一个=5×3表性别年龄身高______ ___ ______泰德M 27 74弗雷德M 52 68贝蒂F 31 64鲍勃M 46 61朱迪F 35 64
创建一个表格,B
,有共同的排一个
.
B = table(category ({)“F”;“米”;“F”;“F”}),...[31; 47; 35; 23], [64; 68; 62; 58],...“VariableNames”, {“性别”“年龄”“高度”},...“RowNames”, {梅格的“乔”“贝丝”“艾米”})
B =4×3表性别年龄身高______ ___ ______梅格F 31 64乔M 47 68贝丝F 35 62艾米F 23 58
找出两者共有的行一个
而且B
,以及索引向量ia
而且ib
,以致于C = A(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 = A(ia,:)
而且C = B(ib,:)
.
[C,ia,ib] =交集(A,B, B,)“行”)
C =1 2 3 2 2 2 2
ia =3个1
ib =1 2
一个
而且B
行数不需要相同,但列数必须相同。
使用setOrder
参数指定中的值的顺序C
.
指定“稳定”
如果你想要输入值C
与…有相同的顺序一个
.
A = [7 1 7 7 4];B = [7 0 4 4 0];[C,ia,ib] =交集(A,B, B,)“稳定”)
C =7 4
ia =1 - 5
ib =1 3
或者,您也可以指定“排序”
秩序。
[C,ia,ib] =交集(A,B, B,)“排序”)
C =4 7
ia =5个1
ib =3个1
创建一个字符向量的单元格数组,一个
.
A = {“狗”,“猫”,“鱼”,“马”};
创建一个字符向量的单元格数组,B
,其中一些向量有尾随空白。
B = {“狗”,“猫”,“鱼”,“马”};
找出两者共有的字符向量一个
而且B
.
[C,ia,ib] =交集(A,B)
C =1×2单元格数组“猫”“马”
ia =2 4
ib =2 4
相交
将字符向量的单元格数组中的尾随空白处理为不同的字符。
创建一个列向量字符数组。
A = [“一个”;“B”;“C”),类(一)
一个=3×1 char数组“a b c”
Ans = 'char'
创建一个包含数值类型元素的2 × 3矩阵双
.
B = [65 66 67;68 69 70], class(B)
B =65 66 67 68 69 70
Ans = 'double'
找出两者共有的值一个
而且B
.
[C,ia,ib] =交集(A,B)
C =3×1 char数组“a b c”
ia =1 2 3
ib =1 3 5
相交
解释B
作为字符数组并返回一个字符数组,C
.
类(C)
Ans = 'char'
创建一个包含有三个字母的动物名称的字符向量。
A = [“狗”;“猫”;“狐狸”;“猪”];类(一)
Ans = 'char'
创建包含不同长度的动物名称的字符向量单元格数组。
B = {“猫”,“狗”,“鱼”,“马”};类(B)
Ans = 'cell'
找出两者共有的字符向量一个
而且B
.
C =相交(A,B)
C =2×1单元格数组“猫”“狗”
结果,C
,是字符向量的单元格数组。
类(C)
Ans = 'cell'
使用“遗产”
标志来保存的行为相交
从R2012b和之前版本的代码。
找到的交叉点一个
而且B
与当前的行为。
A = [7 1 7 7 4];B = [7 0 4 4 0];[C1,ia1,ib1] = intersect(A,B)
C1 =4 7
ia1 =5个1
ib1 =3个1
找到独特的元素一个
并保留遗留行为。
[C2,ia2,ib2] = intersect(A,B, c, c)“遗产”)
C2 =4 7
ia2 =5个4
ib2 =4个1
A、B
-输入数组输入数组,指定为数值数组、逻辑数组、字符数组、字符串数组、类别数组、日期时间数组、持续时间数组、字符向量、表格或时间表的单元格数组。如果指定“行”
选项,一个
而且B
列数必须相同。
一个
而且B
必须属于同一类,但有以下例外:
逻辑
,字符
,并且所有的数值类都可以与双
数组。
字符向量的单元格数组可以与字符数组或字符串数组组合。
分类数组可以与字符数组、字符向量的单元格数组或字符串数组组合。
日期时间数组可以与日期字符向量的单元格数组或单个日期字符向量组合。
还有额外的要求一个
而且B
根据数据类型:
如果一个
而且B
都是序数范畴数组,它们必须具有相同的类别集,包括它们的顺序。如果既不一个
也不B
是序数的,它们不需要具有相同的类别集,并且使用类别名称执行比较。在本例中,类别C
是分类的排序并集吗一个
而且B
.
如果一个
而且B
无论是表还是时间表,它们必须具有相同的变量名(除了顺序)。对于表,行名被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,要考虑行时间,因此具有相同值但时间不同的两行不被认为相等。
如果一个
而且B
作为datetime数组,它们必须在是否指定时区方面彼此一致。
一个
而且B
也可以是具有以下类方法的对象:
排序
(或sortrows
为“行”
选项)
不
对象类方法必须彼此一致。这些对象包括派生自同一根类的异构数组。例如,一个
而且B
可以是图形对象句柄的数组。
setOrder
-订单标志“排序”
(默认)|“稳定”
命令标志,指定为“排序”
或“稳定”
中的值(或行)的顺序C
.
订单的旗帜 | 意义 |
---|---|
“排序” |
中的值(或行)C 按排序顺序返回。例如:C = intersect([7 0 5],[7 1 5],'sorted') 返回C = [5 7] . |
“稳定” |
中的值(或行)C 以它们出现的相同顺序返回一个 而且B .例如:C = intersect([7 0 5],[7 1 5],'stable') 返回C = [7 5] . |
C
-公用资料一个
而且B
共用的数据一个
而且B
,作为向量、矩阵或表返回。如果输入一个
而且B
表或时间表,那么变量的顺序C
和变量的顺序一样吗一个
.
下面描述的形状C
当输入是向量或矩阵时,当“遗产”
标志未指定:
如果“行”
标志没有指定C
列向量,除非两者都是一个
而且B
是行向量,在哪种情况下C
是行向量。
如果“行”
则指定FlagC
矩阵是否包含共有的行一个
而且B
.
输入的类一个
而且B
的类。C
:
如果一个班级一个
而且B
那么,是一样的吗C
是同一类。
如果你把a字符
或非双数值类双
,然后C
与非双精度输入相同的类。
如果你把a逻辑
类双
,然后C
是双
.
如果将字符向量的单元格数组与字符
,然后C
是字符向量的单元格数组。
如果将分类数组与字符向量、字符向量的单元格数组或字符串组合在一起,则C
是一个类别数组。
如果将日期时间数组与日期字符向量的单元格数组或单个日期字符向量组合在一起,则C
是一个日期时间数组。
如果将字符串数组与字符向量或字符向量的单元格数组组合在一起,则C
是一个字符串数组。
ia
-索引至一个
索引一个
时作为列向量返回“遗产”
Flag未指定。ia
中的值(或行)一个
这是常见的B
.中有重复的值(或行)一个
,然后ia
包含值(或行)第一次出现的索引。
ib
-索引至B
索引B
时作为列向量返回“遗产”
Flag未指定。ib
中的值(或行)B
这是常见的一个
.中有重复的值(或行)B
,然后ib
包含值(或行)第一次出现的索引。
要查找与表或时间表中的变量子集有关的交集,可以使用列下标。例如,你可以用相交((:,
,在那里var
), B (:,var
))var
是正整数、正整数的向量、变量名、变量名的单元格数组或逻辑向量。或者,您也可以使用vartype
创建选择指定类型的变量的下标。
使用注意事项和限制:
代码生成不支持第一个或第二个参数的单元格数组。金宝app
当您没有指定“行”
选择:
输入一个
而且B
一定是向量。如果指定“遗产”
选项,输入一个
而且B
必须是行向量。
可变大小的行向量的第一个维必须有固定的长度1。可变大小的列向量的第二个维度必须有固定的长度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国家网站没有针对从您的位置访问进行优化。