table2array函数是将表转换为同构数组。
语法
A = table2array(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))。
-
table2array(T) 等效于 T{:,:}。
算法:如果 T 包含的变量具有适合水平串联的不同数据类型,table2array 将会创建一个具有主导数据类型的同构数组 A。例如,如果 T 包含 double 和 single 数值数据,table2array(T) 将返回数据类型为 single 的数组。
说明
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=3×3 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 = 3×6
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'})
T=5×4 table
Gender Age Height Weight
______ ___ ______ ______
M 38 71 176
M 43 69 163
F 38 64 131
F 40 67 133
F 49 64 119
将 T(:,2:4) 转换为数组。
A = table2array(T(:,2:4))
A = 5×3
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=2×3 table
One Two Three
______________ ______________ ______________
[1x1x3 double] [1x2x3 double] [1x3x3 double]
[1x1x3 double] [1x2x3 double] [1x3x3 double]
该表的大小为 2×3。将表 T 转换为数组。
A = table2array(T)
A =
A(:,:,1) =
1 2 2 3 3 3
1 2 2 3 3 3
A(:,:,2) =
1 2 2 3 3 3
1 2 2 3 3 3
A(:,:,3) =
1 2 2 3 3 3
1 2 2 3 3 3
A 的大小为 2×6×3。