主要内容

塞克索

设置两个数组的exclusive OR

描述

实例

C=setxor(A、B)返回的数据A.B它们不在相交处(对称差),没有重复。就是,塞克索返回在中发生的数据A.B,但并非两者皆有。C是有序的。

  • 如果A.B那么,是时间表还是时间表塞克索返回两个表中某一个表中出现的行,但不是两个表中都出现的行。的航班时刻表,塞克索考虑行时间以确定相等性,并对输出时间表进行排序C按排次。

实例

C=setxor(A、B,设定顺序)返回C以特定的顺序。设定顺序可以是“排序”“稳定”.

C=setxor(A、B,___(“行”)C=setxor(A、B","行",,___)处理每一行A.每行B作为单个实体,并返回A.B不在交叉点的,没有重复。必须指定A.B并且可以选择指定设定顺序.

这个“行”选项不支持单元格数组,除非其中一万博1manbetx个输入是分类数组或日期时间数组。

实例

[C,ia,ib) = setxor (___)还返回索引向量iaib使用任何前面的语法。

  • 通常,中的值C是元素的有序组合A(ia)B(ib).

  • 如果“行”选项,则C是数据行的排序组合A(ia,:): B (ib).

  • 如果A.B那么,是时间表还是时间表C是数据行的排序组合A(ia,:): B (ib).

实例

[C,ia,ib) = setxor (A、B(“遗产”)[C,ia,ib) = setxor (A、B“行”、“遗产”)保留用户的行为塞克索R2012b和以前版本的功能。

这个“遗产”选项不支持分类数组、日期时间数组万博1manbetx、持续时间数组、表或时间表。

例子

全部崩溃

定义两个具有共同值的向量。

A = [5 1 3 3 3];B = [4 1 2];

找出A.B不在它们的交点上。

C=设置异或(A,B)
C=1×42 3 4 5

定义两个共有行的表。

一个=表([1:5],[“一个”;“B”;“C”;“D”;“E”),逻辑([0,1,0,1,0]))
A=5×3表Var1 Var2 Var3_________;1 A假2 B真3 C假4 D真5 E假
B =表([1:2:10],[“一个”;“C”;“E”;“G”;“我很高兴],逻辑(零(5,1)))
B=5×3表Var1 Var2 Var3 ____ ____ _____ 1 A假3 C假5 E假7 G假9 I假

找到每行A.B不在它们的交点上。

C=设置异或(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];

找出A.B和指标向量不在交点上的向量iaib.

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

C是元素的有序组合A(ia)B(ib).

定义一个表,A.,五个人的性别、年龄和身高。

A=表格([“我是;“我是;“F”],[27;52;31],[74;68;64],...“VariableNames”,{“性别”“年龄”“高度”},...“RowNames”,{“泰德”“弗雷德”“贝蒂”})
A=3×3表性别年龄身高泰德M 27 74弗雷德M 52 68贝蒂F 31 64

定义一个表,B,变量与A..

([B =表“F”;“我是]、[64;68],[31;47],...“VariableNames”,{“性别”“高度”“年龄”},...“RowNames”,{梅格的“乔”})
B=2×3表性别身高年龄梅格F 64 31乔M 68 47

找到每行A.B不在它们的交点处的,以及索引向量iaib.

[C,ia,ib]=setxor(A,B)
C=3×3表性别年龄身高(男27 74乔47 68弗雷德52 68
ia=2×11 2
ib=2

C是元素的有序组合A(ia,:): B (ib).

定义两个行相同的矩阵。

A=[789;771;771;1234;456];B=[1234;456;772];

找到每行A.B和指标向量不在交点上的向量iaib.

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

C是数据行的排序组合A(ia,:): B (ib).

使用设定顺序参数指定中值的顺序C.

具体说明“稳定”如果您想在C有相同的顺序A.B.

A=[5133];B=[412];[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

定义两个包含.

A=[5楠楠];B=[5楠楠];

求向量的对称差A.B.

C=设置异或(A,B)
C=1×4楠楠楠楠楠楠

这个塞克索函数把价值观是截然不同的。

创建一个字符向量的单元格数组,A..

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

创建一个字符向量的单元格数组,B,其中一些向量具有尾随空格。

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

查找不在交叉点处的字符向量A.B.

[C,ia,ib]=setxor(A,B)
C=1 x4单元格{'dog'}{'dog'}{'fish'}{'fish'}
ia=2×11 3
ib=2×11 3

塞克索将字符向量单元格数组的尾随空格视为不同的字符。

创建列向量字符数组。

A=[“一个”;“B”;“C”],甲级
A=3x1字符数组“A”“B”“C”
ans = '字符'

创建包含数字类型元素的行向量双重的.

B = [66 67 68], class(B)
B=1×366 67 68
ans =“双”

求其对称差分A.B.

C=设置异或(A,B)
C=2 x1 char数组' A ' ' D '

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

类别(C)
ans = '字符'

创建一个字符向量,A..

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

创建一个字符向量的单元格数组,B.

B={“狗”,“猫”,“鱼”,“马”};类(B)
ans=‘单元’

查找不在交叉点处的字符向量A.B.

C=设置异或(A,B)
C=4x1电池{'鱼'}{'狐狸'}{'马'}{'猪'}

结果,,C,是字符向量的单元格数组。

类别(C)
ans=‘单元’

使用“遗产”标记以保留的行为塞克索来自R2012b和代码中的早期版本。

求其对称差分A.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必须具有相同的列数。

A.B必须属于同一类,但以下情况除外:

  • 必然的,烧焦,并且所有数值类都可以与双重的数组。

  • 字符向量的单元格数组可以与字符数组或字符串数组组合。

  • 分类数组可以与字符数组、字符向量的单元格数组或字符串数组组合。

  • 日期时间数组可以与日期字符向量的单元格数组或单个日期字符向量组合。

还有额外的要求A.B根据数据类型:

  • 如果A.B如果都是有序的类别数组,则它们必须具有相同的类别集,包括它们的顺序。如果两者都没有A.也没有B是有序的,它们不需要具有相同的类别集,并且使用类别名称执行比较。在这种情况下C是来自的类别的排序并集A.B.

  • 如果A.B如果是表或时间表,则它们必须具有相同的变量名称(顺序除外)。对于表,将忽略行名称,以便将具有相同值但名称不同的两行视为相等。对于时间表,将考虑行时间,以便将具有相同值但时间不同的两行视为不相等。

  • 如果A.B作为日期时间数组,它们必须在是否指定时区方面彼此一致。

A.B也可以是具有以下类方法的对象:

  • 排序(或索特罗斯对于“行”(可选)

  • 情商

对象类方法必须相互一致。这些对象包括从同一根类派生的异构数组。例如,A.B可以是图形对象的句柄数组。

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

旗帜 描述
“排序”

中的值(或行)C按返回的排序顺序返回排序.

实例

C=setxor([513],[412],“排序”)
C=2 3 4 5

“稳定”

中的值(或行)C按中显示的顺序返回A.然后B.

实例

C=setxor([513],[412],“稳定”)
C=5 3 4 2

数据类型:烧焦|一串

输出参数

全部崩溃

对称差分数组,作为向量、矩阵、表格或时间表返回。如果输入A.B是表还是时间表,那么变量的顺序在哪里C与中变量的顺序相同A..

下面描述的形状C当输入为向量或矩阵,且“遗产”未指定Flag:

  • 如果“行”未指定Flag,则C是列向量,除非两者都是A.B是什么情况下的行向量C是一个行向量。例如,setxor([],[12])返回一个列向量。

  • 如果“行”则指定FlagC一个矩阵包含行吗A.B不在交集处的。

  • 如果A.也在B然后C是空的。

输入的类别A.B决定了C:

  • 如果A.B都是一样的吗C是同一个班级。

  • 如果你把一个烧焦或具有双重的然后C是与非双输入相同的类。

  • 如果你把一个必然的双重的然后C双重的.

  • 如果将字符向量的单元格数组与烧焦然后C是字符向量的单元格数组。

  • 如果将分类数组与字符向量、字符向量单元格数组或字符串组合,则C是一个分类数组。

  • 如果将日期时间数组与日期字符向量单元格数组或单个日期字符向量组合,则C是一个日期时间数组。

  • 如果将字符串数组与字符向量或字符向量的单元格数组组合,则C是一个字符串数组。

索引A.,在“遗产”未指定Flag。ia中的值(或行)A.这就产生了对称差。如果有一个重复的值(或行)专门出现在A.然后ia包含值(或行)第一次出现的索引。

索引B,在“遗产”未指定Flag。ib中的值(或行)B这就产生了对称差。如果有一个重复的值(或行)专门出现在B然后ib包含值(或行)第一次出现的索引。

提示

  • 要查找表或时间表中变量子集的对称差异,可以使用列下标setxor(A)(:,var), B (:,var))哪里var是正整数、正整数向量、变量名、变量名单元格数组或逻辑向量。或者,您可以使用变形金刚创建选择指定类型变量的下标。

扩展能力

之前介绍过的R2006a