setxor
设置两个数组的异或
语法
描述
例子
两个向量的对称差分
两个表的对称差
定义两个具有共同行的表。
一个=表([1:5],[“一个”;“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 =表([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 = setxor (A, B)
C =4×3表Var1 Var2 Var3 ____ ____ _____ 2 B真4 D真7 G假9 I假
两个向量与不同值指标的对称差
定义两个具有共同值的向量。
A = [5 1 3 3 3];B = [4 1 2];
求的值一个
和B
它们和索引向量都不在交点内ia
和ib
.
[C ia ib] = setxor (A, B)
C =1×42 3 4 5
ia =2×13 1
ib =2×13 1
C
是元素的有序组合吗(ia)
和B (ib)
.
两个表和不同行索引的对称差
定义一个表,一个
五个人的性别、年龄和身高。
([=表“米”;“米”;“F”]、[27;52;31],(74;68;64),...“VariableNames”, {“性别”“年龄”“高度”},...“RowNames”, {“泰德”“弗雷德”“贝蒂”})
一个=3×3表性别年龄身高______ ___ ______泰德M 27 74弗雷德M 52 68贝蒂F 31 64
定义一个表,B
,用相同的变量一个
.
([B =表“F”;“米”]、[64;68],[31;47],...“VariableNames”, {“性别”“高度”“年龄”},...“RowNames”, {梅格的“乔”})
B =2×3表性别身高年龄______ ______ ___梅格F 64 31乔M 68 47
找出一个
和B
它们不在它们的交点内,还有索引向量ia
和ib
.
[C ia ib] = setxor (A, B)
C =3×3表性别年龄身高______ ___ ______泰德M 27 74乔M 47 68弗雷德M 52 68
ia =2×11 2
ib = 2
C
是元素的有序组合吗:一个(ia)
和: B (ib)
.
两个矩阵行的对称差分
定义两个具有共同行的矩阵。
A = [7 8 9;7 7 1;7 7 1;1 2 3;4 5 6];B = [1 2 3;4 5 6;7 7 2];
找出一个
和B
它们和索引向量都不在交点内ia
和ib
.
[C ia ib] = setxor (A, B,“行”)
C =3×37 7 1 7 7 2 7 8 9
ia =2×12 1
ib = 3
C
的行的排序组合:一个(ia)
和: B (ib)
.
指定顺序两个向量的对称差分
使用setOrder
参数指定中的值的顺序C
.
指定“稳定”
如果你想要输入值C
与…有相同的顺序一个
和B
.
A = [5 1 3 3 3];B = [4 1 2];[C ia ib] = setxor (A, B,“稳定”)
C =1×45 3 4 2
ia =2×11 3
ib =2×11 3
或者,您也可以指定“排序”
秩序。
[C ia ib] = setxor (A, B,“排序”)
C =1×42 3 4 5
ia =2×13 1
ib =2×13 1
含nan向量的对称差分
带有尾随空白的字符向量单元格数组
创建一个字符向量的单元格数组,一个
.
一个= {“狗”,“猫”,“鱼”,“马”};
创建一个字符向量的单元格数组,B
,其中一些向量有尾随空白。
B = {“狗”,“猫”,“鱼”,“马”};
的交集之外的特征向量一个
和B
.
[C ia ib] = setxor (A, B)
C =1 x4单元阵列{'dog'} {'dog'} {'fish'} {'fish'}
ia =2×11 3
ib =2×11 3
setxor
将字符向量的单元格数组中的尾随空白处理为不同的字符。
不同类和形状向量的对称差分
创建一个列向量字符数组。
= (“一个”;“B”;“C”),类(一)
一个=3 x1 char数组“A”“B”“C”
ans = '字符'
创建一个包含数值类型元素的行向量双
.
B = [66 67 68], class(B)
B =1×366 67 68
ans =“双”
的对称差一个
和B
.
C = setxor (A, B)
C =2 x1 char数组' A ' ' D '
结果是列向量字符数组。
类(C)
ans = '字符'
字符向量的Char和Cell数组的对称差分
创建一个字符向量,一个
.
= (“猫”;“狗”;“狐狸”;“猪”];类(一)
ans = '字符'
创建一个字符向量的单元格数组,B
.
B = {“狗”,“猫”,“鱼”,“马”};类(B)
ans =“细胞”
的交集之外的特征向量一个
和B
.
C = setxor (A, B)
C =4 x1单元阵列{'鱼'}{'狐狸'}{'马'}{'猪'}
结果,C
,是字符向量的单元格数组。
类(C)
ans =“细胞”
保留setxor的遗留行为
使用“遗产”
标志来保存的行为setxor
从R2012b和之前版本的代码。
的对称差一个
和B
与当前的行为。
A = [5 1 3 3 3];B = [4 1 2 2];[C1, ia1 ib1] = setxor (A, B)
C1 =1×42 3 4 5
ia1 =2×13 1
ib1 =2×13 1
找到对称差异并保留遗留行为。
[C2, ia2 ib2] = setxor (A, B,“遗产”)
C2 =1×42 3 4 5
ia2 =1×25个1
ib2 =1×24个1
输入参数
A、B
- - - - - -输入数组
数字数组|逻辑阵列|字符数组|字符串数组|分类数组|datetime数组|持续时间数组|字符向量的单元格数组|表|时间表
输入数组,指定为数值数组、逻辑数组、字符数组、字符串数组、类别数组、日期时间数组、持续时间数组、字符向量、表格或时间表的单元格数组。如果指定“行”
选项,一个
和B
列数必须相同。
一个
和B
必须属于同一个类,但有以下几种例外:
逻辑
,字符
,并且所有的数值类都可以与双
数组。字符向量的单元格数组可以与字符数组或字符串数组组合。
分类数组可以与字符数组、字符向量的单元格数组或字符串数组组合。
日期时间数组可以与日期字符向量的单元格数组或单个日期字符向量组合。
还有额外的要求一个
和B
根据数据类型:
如果
一个
和B
都是序数范畴数组,它们必须具有相同的类别集,包括它们的顺序。如果既不一个
也不B
是序数的,它们不需要具有相同的类别集,并且使用类别名称执行比较。在本例中,类别C
是分类的排序并集吗一个
和B
.如果
一个
和B
无论是表还是时间表,它们必须具有相同的变量名(除了顺序)。对于表,行名被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,要考虑行时间,因此具有相同值但时间不同的两行不被认为相等。如果
一个
和B
作为datetime数组,它们必须在是否指定时区方面彼此一致。
一个
和B
也可以是具有以下类方法的对象:
排序
(或sortrows
为“行”
选项)情商
不
对象类方法必须彼此一致。这些对象包括派生自同一根类的异构数组。例如,一个
和B
可以是图形对象句柄的数组。
setOrder
- - - - - -订单的旗帜
“排序”
(默认)|“稳定”
命令标志,指定为“排序”
或“稳定”
中的值(或行)的顺序C
.
国旗 | 描述 |
---|---|
“排序” |
中的值(或行) 例子 C = setxor([5 1 3],[4 1 2],“排序”)
C = 2 3 4 |
“稳定” |
中的值(或行) 例子 C = setxor([5 1 3],[4 1 2],“稳定”)
C = 5 3 4 2 |
数据类型:字符
|字符串
输出参数
C
-对称差分阵列
向量|矩阵|表|时间表
对称差分数组,作为向量、矩阵、表或时间表返回。如果输入一个
和B
表或时间表,那么变量的顺序C
和变量的顺序一样吗一个
.
下面描述的形状C
当输入是向量或矩阵时,当“遗产”
标志未指定:
如果
“行”
标志没有指定C
列向量,除非两者都是一个
和B
是行向量,在哪种情况下C
是行向量。例如,setxor ([], [1 - 2])
返回列向量。如果
“行”
则指定FlagC
矩阵是否包含的行一个
和B
不在十字路口。的所有值(或行)
一个
也在B
,然后C
是空的。
输入的类一个
和B
的类。C
:
如果一个班级
一个
和B
那么,是一样的吗C
是同一类。如果你把a
字符
或非双数值类双
,然后C
与非双精度输入相同的类。如果你把a
逻辑
类双
,然后C
是双
.如果将字符向量的单元格数组与
字符
,然后C
是字符向量的单元格数组。如果将分类数组与字符向量、字符向量的单元格数组或字符串组合在一起,则
C
是一个类别数组。如果将日期时间数组与日期字符向量的单元格数组或单个日期字符向量组合在一起,则
C
是一个日期时间数组。如果将字符串数组与字符向量或字符向量的单元格数组组合在一起,则
C
是一个字符串数组。
ia
——指数一个
列向量
索引一个
时作为列向量返回“遗产”
Flag未指定。ia
中的值(或行)一个
这导致了对称的差异。中出现重复的值(或行)一个
,然后ia
包含值(或行)第一次出现的索引。
ib
——指数B
列向量
索引B
时作为列向量返回“遗产”
Flag未指定。ib
中的值(或行)B
这导致了对称的差异。中出现重复的值(或行)B
,然后ib
包含值(或行)第一次出现的索引。
提示
要查找表或时间表中变量子集的对称差异,可以使用列下标。例如,你可以用
setxor ((:,
,在那里var
), B (:,var
))var
是正整数、正整数的向量、变量名、变量名的单元格数组或逻辑向量。或者,您也可以使用vartype
创建选择指定类型的变量的下标。
扩展功能
高大的数组
使用行数超过内存容量的数组进行计算。
C / c++代码生成
使用MATLAB®Coder™生成C和c++代码。
使用注意事项和限制:
代码生成不支持第一个或第二个参数的单元格数组。金宝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编码器)。
GPU数组
通过使用并行计算工具箱™在图形处理单元(GPU)上运行来加速代码。
之前介绍过的R2006a
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入命令来运行该命令。Web浏览器不支持MATLAB命令。金宝app
您也可以从以下列表中选择网站:
如何获得最佳的网站性能
选择中国网站(中文或英文)以获得最佳的网站表现。其他MathWorks国家网站没有针对从您的位置访问进行优化。