主要内容

联盟

设置两个阵列的联盟

描述

例子

C= Union(A,B返回组合数据一个B没有重复。C按顺序排列。

  • 如果一个B那么,是桌子还是时刻表呢联盟返回两个表的合并行集。的航班时刻表,联盟考虑到行时间以确定平等,并对输出时间表进行排序C行乘以。

例子

C= Union(A,BsetOrder.返回C以特定的顺序。setOrder.可以'排序'要么“稳定”

C= Union(A,B___,'行')C= Union(A,B,'行',___对待每行一个每一行B作为单个实体并从中返回组合的行一个B,没有重复。您必须指定一个B并且可选择可以指定setOrder.

“行”选项不支持单元格数组,除非其中一金宝app个输入是分类数组或日期时间数组。

例子

Ciaib] =联盟(___还返回索引矢量iaib使用以前的任何语法。

  • 一般来说,值C是一个分类的元素组合A(IA)围兜)

  • 如果“行”选项,然后查看C是行的排序组合:一个(ia)围兜,:)

  • 如果一个B那么,是桌子还是时刻表呢C是行的有序组合吗:一个(ia)围兜,:)

例子

Ciaib] =联盟(A,B,'遗产')Ciaib] =联盟(A,B,'行','遗留')保持行为联盟函数从R2012b和以前的版本。

'遗产'选项不支持分类数组,日期时间阵列金宝app,持续时间数组,表或时间表。

例子

全部折叠

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

A = [5 7 1];B = [3 1 1];

找到向量联盟一个B

C = Union(A,B)
C =1×4.1 3 5 7

定义具有共同行的两个表。

a =表([1:5]',['一种''B''C''D''e'],逻辑([0; 1; 0; 1; 0]))
一个=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''一世'],逻辑(零(5,1)))
B =5×3表var1 var2 var3 ____ ____ _____ 1 a false 3 c false 5 e false 7 g false 9 i false

找到表的并集一个B

C = Union(A,B)
C =7×3表var1 var2 var3 ____ ____ _____ 1 a false 2 b true 3 c false 4 d true 5 e false 7 g false 9 i false

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

A = [5 7 1];B = [3 1 1];

找到向量联盟一个B,以及指标向量,iaib

[C,IA,IB] = Union(A,B)
C =1×4.1 3 5 7
ia =3×13 1 2
ib = 1

价值C是综合的价值A(IA)围兜)

定义一个表,一个,性别,年龄和3人的身高。

([=表'M''M''F']、[27;52;31],(74;68;64),......'variablenames',{'性别''年龄''高度'},......'rownames',{'ted''弗雷德''贝蒂'})
一个=3×3表性别年龄高度______ ___ ______泰德M 27 74 FRED M 52 68贝蒂F 31 64

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

b =表(['F''M'],[64; 68],[31; 47],......'variablenames',{'性别''高度''年龄'},......'rownames',{'meg''乔'})
B =2×3表性别身高年龄______ ______ ___ Meg F 64 31 Joe M 68 47

找到表的并集一个B,以及指标向量,iaib

[C,IA,IB] = Union(A,B)
C =4×3表性别年龄高度______ ___ ______贝蒂F 31 64 TED M 27 74 JOE M 47 68 FRED M 52 68
ia =3×13 1 2
ib = 2

的数据梅格贝蒂是相同的。联盟只返回索引一个,对应于贝蒂

使用共同的行定义两个矩阵。

a = [2 2 2;0 0 1];B = [1 2 3;2 2 2;2 2 2];

的组合行一个B,没有重复,以及索引矢量iaib

[C ia ib] =联盟(A, B,“行”
C =3×30 0 1 1 2 3 2 2 2
ia =2×12 1
ib = 1

行的行C合并的行是:一个(ia)围兜,:)

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

指定“稳定”如果你想要这些值C与相同的订单一个B

A = [5 7 1];B = [3 1 1];[C ia ib] =联盟(A, B,“稳定”
C =1×4.5 7 1 3
ia =3×11 2 3.
ib = 1

或者,您可以指定'排序'命令。

A = [5 7 1];B = [3 1 1];[C ia ib] =联盟(A, B,'排序'
C =1×4.1 3 5 7
ia =3×13 1 2
ib = 1

定义两个含有的向量

a = [5 nan 1];B = [4南南];

找到向量联盟一个B

C = Union(A,B)
C =1×6.1 4 5南南楠

联盟对待值截然不同。

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

a = {“狗”'猫''鱼'“马”};

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

b = {'狗 ''猫'“鱼”“马”};

结合的元素一个B

[C,IA,IB] = Union(A,B)
C =1 x6单元格{'cat'} {'doch'} {'dog'} {'fish'} {'fish'} {'horse'}
ia =4×12 1 3 4
IB =2×11 3

联盟将字符向量的细胞阵列中的尾随空格视为明显的特征。

创建列矢量字符数组。

a = ['一种''B''C'
一个=3x1 char array.''b''c'
类(一)
ans ='char'

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

B = [68 69 70]
B =1×3.68 69 70.
类(B)
ans ='double'

联盟一个B返回列向量字符数组。

C = Union(A,B)
C =6x1 char array.''b''c'''''''''f'
类(C)
ans ='char'

创建包含这些字母的字符向量一个b, 和c

a = ['一种''B''C'];类(一)
ans ='char'

创建包含字母的字符向量单元格数组cd, 和e

b = {'C''D''e'};类(B)
ans ='cell'

结合的元素一个B

C = Union(A,B)
C =5x1细胞{'a'} {'b'} {'c'} {'d'} {'e'}

结果,C,是一个字符向量的单元格阵列。

类(C)
ans ='cell'

使用'遗产'旗帜保持行为联盟从R2012b和以前的版本在您的代码。

找到联盟一个B与当前的行为。

A = [5 7 1];B = [3 1 1];[C1,IA1,IB1] =联盟(A,B)
C1 =1×4.1 3 5 7
IA1 =3×13 1 2
IB1 = 1

找到联盟一个B,并保留遗留行为。

A = [5 7 1];B = [3 1 1];[C2,IA2,IB2] =联盟(A,B,'遗产'
C2 =1×4.1 3 5 7
IA2 =1×21 2
IB2 =1×23 1

输入参数

全部折叠

输入阵列,指定为数字阵列,逻辑阵列,字符数组,字符串数组,分类阵列,datetime阵列,持续时间阵列,字符向量,表格或时间表的单元格阵列。如果您指定了“行”选项,一个B必须具有相同数量的列。

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

  • 逻辑char,所有的数字类都可以与之结合使用双倍的阵列。

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

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

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

有其他要求一个B基于数据类型:

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

  • 如果一个B是表或时间表,它们必须具有相同的变量名(顺序除外)。对于表,行名被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,将考虑行时间,因此具有相同值但时间不同的两行不被认为相等。

  • 如果一个B是datetime数组,它们必须在是否指定时区方面保持一致。

一个B也可以是具有以下类方法的对象:

  • 种类(或排队为了“行”选项)

  • NE.

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

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

旗帜 描述
'排序'

值(或行)C按照返回的排序订单返回种类

例子

C = Union([5 5 3],[1 2 5],'排序'
C = 1 2 3 5

“稳定”

值(或行)C返回的顺序与它们出现的顺序相同一个,然后B

例子

C = Union([5 5 3],[1 2 5],“稳定”
答案:C

数据类型:char|细绳

输出参数

全部折叠

结合数据的一个B,以向量、矩阵、表或时间表的形式返回。如果输入一个B是表或时间表,然后是变量的顺序C与变量的顺序相同一个

下面描述的形状C当输入是向量或矩阵时以及何时'遗产'未指定标志:

  • 如果“行”没有指定标志,然后C是列向量吗,除非两者都是一个B是行向量,在这种情况下C是一排矢量。例如,联盟([],[1 2])返回列向量。

  • 如果“行”指定标志,然后C是包含组合行的矩阵一个B

输入的类一个B确定类C

  • 如果一个B是一样的,然后C是同一个班级。

  • 如果你结合了一个char或非双精度数字类双倍的,然后C与Nondouble输入相同。

  • 如果你结合了一个逻辑班级双倍的,然后C双倍的

  • 如果您组合了一个字符向量的单元格数组char,然后C是一个细胞阵列的字符向量。

  • 如果您将具有字符向量的分类数组组合,则字符向量的单元格数组或字符串,然后C是一个分类数组。

  • 如果将DateTime数组与日期字符向量或单日日期字符向量组合,则将DateTime数组组合起来C是DateTime数组。

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

指数到一个,返回列向量时'遗产'未指定标志。ia中的值(或行)一个这有助于联盟。如果值(或行)在多次出现一个,然后ia包含要值(或行)的第一次出现的索引。如果两个值都出现在两者中一个B,然后ia中第一个出现的索引一个

指数到B,返回列向量时'遗产'未指定标志。ib中的值(或行)B这有助于联盟。如果有一个专门出现的重复值(或行)B,然后ib包含对该值的第一次出现的索引。如果两个值(或行)出现在两者中一个B,然后ib不包含值(或行)的索引。

提示

  • 要从表或时间表中找到与变量子集的联合,可以使用列订户。例如,您可以使用联盟(一个(:,vars.),B(:,vars.)), 在哪里vars.是正整数,正整数的矢量,变量名称,变量名称的单元格数组,或逻辑向量。或者,您可以使用vartype创建选择指定类型的变量的下标。

扩展能力

在R2006A之前介绍