设置两个阵列的联盟
定义具有共同行的两个表。
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
,以及指标向量,ia
和ib
.
[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
,以及指标向量,ia
和ib
.
[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
,没有重复,以及索引矢量ia
和ib
.
[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 = {“狗”,'猫','鱼',“马”};
创建一个字符向量的单元格数组,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'
创建包含字母的字符向量单元格数组c
,d
, 和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
A,B
- - - - - -输入数组输入阵列,指定为数字阵列,逻辑阵列,字符数组,字符串数组,分类阵列,datetime阵列,持续时间阵列,字符向量,表格或时间表的单元格阵列。如果您指定了“行”
选项,一个
和B
必须具有相同数量的列。
一个
和B
必须属于同一类,但有以下例外:
逻辑
,char
,所有的数字类都可以与之结合使用双倍的
阵列。
字符向量的单元格阵列可以与字符阵列或串阵列组合。
分类数组可以与字符数组、字符向量的单元格数组或字符串数组结合使用。
Datetime数组可以与包含日期字符向量的单元格数组或单个日期字符向量组合。
有其他要求一个
和B
基于数据类型:
如果一个
和B
都是序数类别数组,它们必须具有相同的类别集,包括它们的顺序。如果既不一个
也不B
是序数,他们不需要具有相同的类别集,并且使用类别名称执行比较。在这种情况下,类别的类别C
是类别的分类联盟一个
和B
.
如果一个
和B
是表或时间表,它们必须具有相同的变量名(顺序除外)。对于表,行名被忽略,因此具有相同值但名称不同的两行被认为是相等的。对于时间表,将考虑行时间,因此具有相同值但时间不同的两行不被认为相等。
如果一个
和B
是datetime数组,它们必须在是否指定时区方面保持一致。
一个
和B
也可以是具有以下类方法的对象:
种类
(或排队
为了“行”
选项)
NE.
对象类方法必须彼此一致。这些对象包括来自同一根类的异构数组。例如,一个
和B
可以是图形对象的阵列。
setOrder.
- - - - - -订单标志'排序'
(默认)|“稳定”
订单标志,指定为'排序'
要么“稳定”
中值(或行)的顺序C
.
旗帜 | 描述 |
---|---|
'排序' |
值(或行) 例子 C = Union([5 5 3],[1 2 5],'排序')
C = 1 2 3 5 |
“稳定” |
值(或行) 例子 C = Union([5 5 3],[1 2 5],“稳定”)
答案:C |
数据类型:char
|细绳
C
- 组合数据一个
和B
结合数据的一个
和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
中的值(或行)一个
这有助于联盟。如果值(或行)在多次出现一个
,然后ia
包含要值(或行)的第一次出现的索引。如果两个值都出现在两者中一个
和B
,然后ia
中第一个出现的索引一个
.
ib
- 索引到B
指数到B
,返回列向量时'遗产'
未指定标志。ib
中的值(或行)B
这有助于联盟。如果有一个专门出现的重复值(或行)B
,然后ib
包含对该值的第一次出现的索引。如果两个值(或行)出现在两者中一个
和B
,然后ib
不包含值(或行)的索引。
要从表或时间表中找到与变量子集的联合,可以使用列订户。例如,您可以使用联盟(一个(:,
, 在哪里vars.
),B(:,vars.
))vars.
是正整数,正整数的矢量,变量名称,变量名称的单元格数组,或逻辑向量。或者,您可以使用vartype
创建选择指定类型的变量的下标。
使用说明和限制:
代码生成不支持第一个或第二个参数的单元格数组。金宝app
代码生成不支持金宝app联盟
在可变大小的行和列之间。一个
和B
必须是具有相同方向的可变尺寸矢量输入。
当您没有指定“行”
选项:
输入一个
和B
必须是具有相同方向的向量。如果您指定了'遗产'
选项,然后输入一个
和B
必须是行向量。
可变尺寸行向量的第一尺寸必须具有固定长度1.可变尺寸列向量的第二维度必须具有固定长度1。
输入[]
不受支持。金宝app例如,使用1-0或0×1输入,零(1,0)
,表示空集。
如果您指定了'遗产'
选项,然后空输出是行向量,1-by-0。它们永远不会0-by-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国家站点没有针对您所在位置的访问进行优化。