文档

setxor

异或两个数组

语法

C = setxor (A, B)
(A, B, C = setxor setOrder)
C = setxor (A, B,___,'行')
C = setxor (A, B,“行”,___)
[C ia ib] = setxor (___)
[C ia ib] = setxor (A, B,“遗产”)
[C ia ib] = setxor (A, B,“行”,“遗产”)

描述

例子

C= setxor (A、B)返回的数据一个B没有在他们的交集(对称差分),没有重复。也就是说,setxor返回的数据出现在一个B,但不能两者兼得。C在顺序。

  • 如果一个B表或时间表,那么setxor返回的行,发生在一个或其他的两个表,但不能两者兼得。的航班时刻表,setxor考虑了行乘以确定平等,和排序输出时间表C行乘以。

例子

C= setxor (A、B,setOrder)返回C在一个特定的顺序。setOrder可以“排序”“稳定”

C= setxor (A、B,___,'行')C= setxor (A、B“行”,___)把每一行的一个每一行的B作为单一实体并返回的行一个B没有交集,没有重复。您必须指定一个B和选择可以指定setOrder

“行”选项不支持细胞阵列,除非其中一个金宝app输入分类数组或datetime数组。

例子

(C,ia,ib)= setxor (___)也回报指数向量iaib使用任何以前的语法。

  • 一般来说,的值C是排序的元素的组合吗(ia)B (ib)

  • 如果“行”指定选项C的分类组合的行吗:一个(ia):B (ib)

  • 如果一个B表或时间表,那么C的分类组合的行吗:一个(ia):B (ib)

例子

(C,ia,ib)= setxor (A、B“遗产”)(C,ia,ib)= setxor (A、B、“行”、“遗产”)保护的行为setxor函数从R2012b和之前版本。

“遗产”选项不支持分类数组,dateti金宝appme数组,数组,持续时间表格,或时间表。

例子

全部折叠

定义两个向量的值共同之处。

一个= (5 1 3 3 3);B = (4 1 2);

找到的值一个B没有交集。

C = setxor (A, B)
C =2 3 4 5

定义两个表和行共同之处。

一个=表([1:5],[“一个”;“B”;“C”;' D ';“E”),逻辑([0,1,0,1,0]))
一个=5 x3表Var1 Var2 Var3 ___ _____ _____ 1假2 B对3 C错4 D真5 E假
B =表([1:2:10],[“一个”;“C”;“E”;‘G’;“我”),逻辑(0 (5、1)))
B =5 x3表Var1 Var2 Var3 ___ _____ _____ 1假3 C假5 E假7 G假我假

找到的行一个B没有交集。

C = setxor (A, B)
C =4 x3表Var1 Var2 Var3 ___ _____ _____ 2 B真的4 D真的7 G假我假

定义两个向量的值共同之处。

一个= (5 1 3 3 3);B = (4 1 2);

找到的值一个B不是在十字路口以及索引向量iaib

[C ia ib] = setxor (A, B)
C =2 3 4 5
ia =3个1
ib =3个1

C是一个元素的排序组合(ia)B (ib)

定义一个表,一个、性别、年龄、和高度为5人。

([=表“米”;“米”;“F”]、[27;52;31],(74;68;64),“VariableNames”,{“性别”“年龄”“高度”},“RowNames”,{“泰德”“弗雷德”“贝蒂”})
一个=3 x3的表性别年龄身高______ ___ _____ Ted弗雷德27 74米52 68贝蒂F 31 64

定义一个表,B相同的变量一个

([B =表“F”;“米”]、[64;68],[31;47],“VariableNames”,{“性别”“高度”“年龄”},“RowNames”,{梅格的“乔”})
B =2 x3表性别身高年龄交___梅格F 64 31乔米68 47岁

找到的行一个B没有在他们的交集,以及索引向量iaib

[C ia ib] = setxor (A, B)
C =3 x3的表性别年龄身高______ ___ _____ Ted 27 74乔弗雷德47 68米52 68
ia =1 2
ib = 2

C是一个元素的排序组合:一个(ia):B (ib)

定义两个矩阵行共同之处。

一个= [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不是在十字路口以及索引向量iaib

[C ia ib] = setxor (A, B,“行”)
C =7 7 1 7 7 2 7 8 9
ia =2 1
ib = 3

C的分类组合的行吗:一个(ia):B (ib)

使用setOrder参数指定值的顺序C

指定“稳定”如果你想要的值C相同的顺序一个B

一个= (5 1 3 3 3);B = (4 1 2);[C ia ib] = setxor (A, B,“稳定”)
C =5 4 3 2
ia =1 3
ib =1 3

此外,您可以指定“排序”秩序。

[C ia ib] = setxor (A, B,“排序”)
C =2 3 4 5
ia =3个1
ib =3个1

定义两个向量包含

一个=[5南南);B =[5南南);

的对称差分向量一个B

C = setxor (A, B)
C =南南南南

setxor函数把价值观是截然不同的。

创建一个单元阵列的特征向量,一个

一个= {“狗”,“猫”,“鱼”,“马”};

创建一个单元阵列的特征向量,B,一些向量的尾随空格。

B = {“狗”,“猫”,“鱼”,“马”};

找到特征向量的交集一个B

[C ia ib] = setxor (A, B)
C =1 x4单元阵列{‘狗’}{‘狗’}{‘鱼’}{'鱼'}
ia =1 3
ib =1 3

setxor对待尾随空格在细胞阵列特征向量的不同的字符。

创建一个列向量的字符数组。

= (“一个”;“B”;“C”),类(一)
一个=3 x1 char数组“A”“B”“C”
ans = '字符'

创建一个行向量包含数字的元素类型

B =(66 67 68),类(B)
B =66 67 68
ans =“双”

找到的对称差分一个B

C = setxor (A, B)
C =2 x1 char数组' A ' ' D '

结果是一个列向量字符数组。

类(C)
ans = '字符'

创建一个特征向量,一个

= (“猫”;“狗”;“狐狸”;“猪”];类(一)
ans = '字符'

创建一个单元阵列的特征向量,B

B = {“狗”,“猫”,“鱼”,“马”};类(B)
ans =“细胞”

找到特征向量的交集一个B

C = setxor (A, B)
C =4 x1单元阵列{'鱼'}{‘狐狸’}{‘马’}{'猪'}

结果,C是一个单元阵列的特征向量。

类(C)
ans =“细胞”

使用“遗产”标志保护的行为setxorR2012b和之前版本的代码。

找到的对称差分一个B与当前的行为。

一个= (5 1 3 3 3);B = (4 1 2 2);[C1, ia1 ib1] = setxor (A, B)
C1 =2 3 4 5
ia1 =3个1
ib1 =3个1

寻找对称差分和保护遗产的行为。

[C2, ia2 ib2] = setxor (A, B,“遗产”)
C2 =2 3 4 5
ia2 =5个1
ib2 =4个1

输入参数

全部折叠

输入数组,指定为数值数组、逻辑阵列,字符数组,字符串数组,直言数组,datetime数组,数组,持续时间细胞阵列的特征向量,表,或时间表。如果你指定“行”选项,一个B必须有相同数量的列。

一个B必须属于同一类以下例外:

  • 逻辑,字符,所有数字类可以结合数组。

  • 细胞阵列特征向量可以结合字符数组或字符串数组。

  • 细胞分类数组可以结合字符数组,数组的特征向量,或字符串数组。

  • Datetime阵列可以结合细胞阵列单日期或日期特征向量的特征向量。

有额外的要求一个B基于数据类型:

  • 如果一个B都是顺序分类数组,它们必须有相同的组分类,包括他们的订单。如果既不一个也不B顺序,他们不需要有相同的组分类,并使用类别名称执行比较。在这种情况下,类别的C类别的排序联盟吗一个B

  • 如果一个B表或时间表,他们必须具有相同的变量名(订单除外)。为表、行名称被忽略,这两行具有相同的值,但不同的名字,被认为是相等的。的航班时刻表,行乘以考虑在内,这两行具有相同的值,但不同时期,不被认为是相等的。

  • 如果一个Bdatetime数组,它们必须相互一致是否指定一个时区。

一个B也可以用下面的类对象的方法:

  • 排序(或sortrows“行”选项)

  • 情商

类方法的对象必须是相互一致的。这些对象包括异构数组来自同一根类。例如,一个B可以处理图形对象数组。

顺序标志,指定为“排序”“稳定”显示值的顺序(或行)C

订单的旗帜 意义
“排序” 的值(或行)C按照顺序返回。例如:C = setxor([5 1 3],[4 1 2],“分类”)返回C = (2 3 4 5)
“稳定” 的值(或行)C在相同的顺序返回一个B。例如:C = setxor([5 1 3],[4 1 2],“稳定”)返回C = (5 4 3 2)

输出参数

全部折叠

对称差分数组,返回为一个向量,矩阵表,或时间表。如果输入一个B表或时间表,那么变量的顺序吗C变量的顺序是一样的吗一个

以下描述的形状C当输入向量或矩阵和当“遗产”国旗没有指定:

  • 如果“行”国旗没有指定C是一个列向量,除非两个一个B在这种情况下,行向量吗C是一个行向量。例如,setxor ([], [1 - 2])返回一个列向量。

  • 如果“行”国旗是指定的,那么C是一个矩阵包含的行吗一个B没有交集。

  • 如果所有的值(或行)一个也在B,然后C是空的。

输入的类一个B决定了的C:

  • 如果类的一个B是相同的吗C是同一个班。

  • 如果你把一个字符或nondouble数字类,然后C是同一类nondouble输入。

  • 如果你把一个逻辑,然后C

  • 如果你把一个单元阵列的特征向量字符,然后C是一个单元阵列的特征向量。

  • 如果你把一系列分类与特征向量,单元阵列的特征向量,或字符串C是一个绝对的数组。

  • 如果你把一个datetime阵列单元阵列单日期或日期特征向量的特征向量,然后C是一个datetime数组。

  • 如果你把一个字符串数组和一个特征向量数组或单元的特征向量,然后C是一个字符串数组。

索引一个,作为一个列向量时返回“遗产”国旗没有指定。ia标识的值(或行)一个这导致对称差分。如果有重复值(或行)只在出现一个,然后ia包含值的指数第一次出现(或行)。

索引B,作为一个列向量时返回“遗产”国旗没有指定。ib标识的值(或行)B这导致对称差分。如果有重复值(或行)只在出现B,然后ib包含值的指数第一次出现(或行)。

提示

  • 寻找对称差分对变量从一个表或时间表的一个子集,您可以使用列加下标。例如,您可以使用setxor ((:,var),B (:,var)),在那里var是一个正整数,一个向量的正整数,一个变量的名字,一个细胞数组的变量名,或一个逻辑向量。或者,您可以使用vartype创建一个下标,选择一个指定类型的变量。

扩展功能

之前介绍过的R2006a

这个主题有帮助吗?