Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

vertcat

垂直串联数组

说明

示例

AB 具有兼容的大小时(除第一个维度以外的维度长度匹配),C = vertcat(A,B)B 垂直串联到 A 的末尾。

示例

C = vertcat(A1,A2,…,An) 垂直串联 A1A2、…、An

vertcat 等效于使用方括号垂直串联或追加数组。例如,当 AB 是兼容数组时,[A; B]vertcat(A,B) 相同。

示例

全部折叠

垂直串联两个矩阵。

创建两个矩阵,并使用方括号表示法将第二个矩阵垂直追加到第一个矩阵。

A = [1 2 3; 4 5 6]
A = 2×3

     1     2     3
     4     5     6

B = [7 8 9]
B = 1×3

     7     8     9

C = [A; B]
C = 3×3

     1     2     3
     4     5     6
     7     8     9

现在,使用 vertcat 将第二个矩阵垂直追加到第一个矩阵。

D = vertcat(A,B)
D = 3×3

     1     2     3
     4     5     6
     7     8     9

创建一个表 A,它包含三行五个变量。

A = table([5;6;5],['M';'M';'M'],[45;41;40],[45;32;34],{'NY';'CA';'MA'},...
    'VariableNames',{'Age' 'Gender' 'Height' 'Weight' 'Birthplace'},...
    'RowNames',{'Thomas' 'Gordon' 'Percy'})
A=3×5 table
              Age    Gender    Height    Weight    Birthplace
              ___    ______    ______    ______    __________

    Thomas     5       M         45        45        {'NY'}  
    Gordon     6       M         41        32        {'CA'}  
    Percy      5       M         40        34        {'MA'}  

创建一个表 B,它包含的变量与 A 相同(顺序除外)。

B = table(['F';'M';'F'],[6;6;5],{'AZ';'NH';'CO'},[31;42;33],[39;43;40],...
    'VariableNames',{'Gender' 'Age' 'Birthplace' 'Weight' 'Height'})
B=3×5 table
    Gender    Age    Birthplace    Weight    Height
    ______    ___    __________    ______    ______

      F        6       {'AZ'}        31        39  
      M        6       {'NH'}        42        43  
      F        5       {'CO'}        33        40  

垂直串联表 ABC 变量的顺序与 A 变量的顺序相同,默认行名称用于 B 中的行。

C = vertcat(A,B)
C=6×5 table
              Age    Gender    Height    Weight    Birthplace
              ___    ______    ______    ______    __________

    Thomas     5       M         45        45        {'NY'}  
    Gordon     6       M         41        32        {'CA'}  
    Percy      5       M         40        34        {'MA'}  
    Row4       6       F         39        31        {'AZ'}  
    Row5       6       M         43        42        {'NH'}  
    Row6       5       F         40        33        {'CO'}  

将日期字符向量、字符串日期和日期时间串联成一个日期列。结果是一个日期时间列向量。

chardate = '2016-03-24';
strdate = "2016-04-19";
t = datetime('2016-05-10','InputFormat','yyyy-MM-dd');
C = vertcat(chardate,strdate,t)
C = 3x1 datetime
   24-Mar-2016
   19-Apr-2016
   10-May-2016

将三个字符串数组串联成一个数组。

A1 = ["str1" "str2"];
A2 = ["str3" "str4"];
A3 = ["str5" "str6"];
C = vertcat(A1,A2,A3)
C = 3x2 string
    "str1"    "str2"
    "str3"    "str4"
    "str5"    "str6"

创建一个包含两个矩阵的元胞数组。将元胞数组中的矩阵垂直串联成一个矩阵。

M1 = [1 2; 3 4];
M2 = [5 6; 7 8];
A1 = {M1,M2};
C = vertcat(A1{:})
C = 4×2

     1     2
     3     4
     5     6
     7     8

输入参数

全部折叠

第一个输入,指定为标量、向量、矩阵、多维数组、表或时间表。

第二个输入,指定为标量、向量、矩阵、多维数组、表或时间表。

  • B 的元素沿第一个维度串联到第一个输入的末尾。输入参数的大小必须兼容。例如,如果第一个输入是大小为 3×2 的矩阵,则 B 必须有 2 列。

  • 您可以串联不同类型的有效组合。有关详细信息,请参阅不同类的有效合并

输入的列表,指定为以逗号分隔的元素列表,这些元素按其在列表中指定的顺序串联。

  • 输入必须具有兼容的大小。例如,如果 A1 是长度为 m 的行向量,则其余输入必须各有 m 列才可进行垂直串联。

  • 您可以串联不同类型的有效组合。有关详细信息,请参阅不同类的有效合并

算法

当将空数组串联到非空数组时,vertcat 会在输出中略去空数组。例如,vertcat([1; 2],[]) 返回列向量 [1; 2]

如果所有输入参数均为空且具有兼容的大小,则 vertcat 返回空数组,其大小等于输入为非空时的输出大小。例如,vertcat(zeros(1,0),zeros(2,0)) 返回 3×0 空数组。如果输入大小不兼容,则 vertcat 返回 0×0 空数组。

扩展功能

C/C++ 代码生成
使用 MATLAB® Coder™ 生成 C 代码和 C++ 代码。

版本历史记录

在 R2006a 之前推出