2026a
M 语言

# table2array


将表转换为同构数组

# 语法

A = table2array(T)

# 说明

A = table2array(T) 将表 T 转换为同构数组 A。示例

# 示例

将数值数据的表转换为数组

创建一个包含数值数据的表 T。

T = table([1;2;3],[2 8; 4 10; 6 12],[3 12 21; 6 15 24; 9 18 27],...
    'VariableNames',{'One' 'Two' 'Three'})
T = 

  3x3 table
  
    One    |    Two          |    Three
    
      1    |      2     8    |        3    12    21
      2    |      4    10    |        6    15    24
      3    |      6    12    |        9    18    27

将表 T 转换为数组。

A = table2array(T)
A =

    1    2     8    3    12    21
    2    4    10    6    15    24
    3    6    12    9    18    27

A 中包含变量 Two 的两列以及变量 Three 的三列。

将表的数值子集转换为数组

定义表的数值子集以转换为数组。创建第一个变量包含非数值数据的表。

T = table(categorical({'M';'M';'F';'F';'F'}),[38;43;38;40;49],...
    [71;69;64;67;64],[176;163;131;133;119],...
    'VariableNames',{'Gender' 'Age' 'Height' 'Weight'})
 5x4 table
  
             Gender    |    Age    |    Height    |    Weight
    
    1x1 categorical    |     38    |        71    |       176
    1x1 categorical    |     43    |        69    |       163
    1x1 categorical    |     38    |        64    |       131
    1x1 categorical    |     40    |        67    |       133
    1x1 categorical    |     49    |        64    |       119

将T(:,2:4)转换成数组

A = table2array(T(:,2:4))
A =

    38    71    176
    43    69    163
    38    64    131
    40    67    133
    49    64    119

A 不包含变量 Gender 的数据。

将包含三维变量的表转换为数组

创建一个包含两行和三个变量的表 T,其中每个变量都具有三个维度。

T = table(ones(2,1,3),2*ones(2,2,3),3*ones(2,3,3),...
    'VariableNames',{'One' 'Two' 'Three'})
T = 

  2x3 table

             One    |             Two    |           Three

    1x1x3 double    |    1x2x3 double    |    1x3x3 double
    1x1x3 double    |    1x2x3 double    |    1x3x3 double


该表的大小为 2×3。

将表 T 转换为数组。

A = table2array(T)
A =

    (:, :, 1) =
        1    2    2    3    3    3
        1    2    2    3    3    3

    (:, :, 2) =
        1    2    2    3    3    3
        1    2    2    3    3    3

    (:, :, 3) =
        1    2    2    3    3    3
        1    2    2    3    3    3

A 的大小为 2×6×3。

# 输入参数

T - 输入表

输入表,指定为表。T 中的所有变量都必须具有适合水平串联的大小和数据类型。具体而言,维度大于 2 的所有变量的大小必须匹配。

  • 如果 T 是一个每个变量具有一列的 m×n 表,则每个变量都将成为 A 中的一列,并且 A 是一个 m×n 数组。
  • 如果 T 中的变量包含多列,这些变量将成为 A 中的多列,并且 A 的大小大于 T 的大小。
  • 如果 T 包含二维以上的变量,则 A 的维数与变量维数相同。

# 提示

  • table2array 水平串联 T 中的变量以创建 A。如果 T 中的变量为元胞数组,则 table2array 不会串联其内容,并且 A 也为元胞数组,等效于table2cell(T)。要创建包含元胞数组变量的内容的数组,请使用 cell2mat(table2cell(T))。

# 算法

如果 T 包含的变量具有适合水平串联的不同数据类型,table2array 将会创建一个具有主导数据类型的同构数组 A。例如,如果 T 包含 double 和 single 数值数据,table2array(T) 将返回数据类型为 single 的数组。

# 另请参阅

array2table | table | table2cell | table2struct