如果变量名存储在变量中,如何访问数据集中的变量?

时间:2013-08-14 15:57:50

标签: data-structures dataset matlab

我的dataset有一个名为A的列。 In可以使用以下方式访问该列:

ds.A;

但是,我想将名称变量名称存储在变量中,以便我可以这样做:

colName = 'A';
ds.colName;

然而,这不起作用。我怎么能这样做?

1 个答案:

答案 0 :(得分:4)

请尝试this

ds.(colName)

这通常称为dynamic field names,也适用于常规struct


替代方式:

% find index of variable
varsNames = get(ds,'VarNames');
colIdx = find(strcmp(varsNames,colName), 1, 'first');

ds(:,colIdx)

ds.(colIdx)