在 Matlab 中将表列转换为矩阵

  • 本文关键字:转换 Matlab matlab
  • 更新时间 :
  • 英文 :


我有一个表格(T(,如下所示:

>> Name = {'John';'Mary';'Martha'};
Age = [10.8;15.11;20.22];
T=table(Name,Age);
>> T
T =
3×2 table
Name       Age 
________    _____
'John'       10.8
'Mary'      15.11
'Martha'    20.22

如果我使用以下命令,将 Age 列转换为矩阵可以正常工作:

cell2mat(table2cell(T(:,2)))

但是如果我使用:

cell2mat(table2cell(T.Age))

并抛出以下错误:

>> cell2mat(table2cell(T.Age))
Undefined function 'getVars' for input
arguments of type 'double'.
Error in table2cell (line 15)
t_vars = getVars(t);

有什么方法可以在将此列转换为矩阵时使用列名T.Age而不是使用T(:,2(

摘自 MathWorks 网站上的 Access Data in a Table 文档

括号允许您选择表中数据的子集并保留表容器。

点索引从一个表变量中提取数据。结果是与提取的变量数据类型相同的数组。可以在点索引后面加上括号,以指定要从变量中提取的行子集。

因此,如果您使用T.Age访问数据,则结果应该已经是一个矩阵,即您不需要使用table2cellcell2mat进行任何转换。

相关内容

  • 没有找到相关文章

最新更新