从matlab中的单元格数组访问元素

Access elements from cells arrays in matlab

假设我有一个元胞数组(命名为 'data'),如下所示:

'k0'    'k1'    'Agg'   'RH'    'AQ'    'fr'    'frac'  'Cel'   'R_A'   'Tot'   'AO'
1.15    1.1574  1.50    0.99    0.090   3.45    1.10    1   11x2 double     11x2 double  11x2 double

如何从列中获取最后一个元素或我想要的任何元素

'frac'  'Cel'   'R_A'
11x2 double 11x2 double  11x2 double

我尝试使用 data{:,9}(end) 从列 'frac' 中获取最后一个元素,但没有成功。

问题是 data{:,9} returns 两个元素。

data{:,9}

%   ans = 
%       'R_A'
%
%   ans = 
%       11 x 2 double

因此,之后使用 (end) 进行索引将无法正常工作。看起来您只想要 second 行而不是全部。所以这样的事情应该有效:

data{2,9}(end)

如果您想要第 9 列所有内容的最后一个元素,那么您需要使用 cellfun 为您做这件事。

values = cellfun(@(x)x(end), data(:,9), 'uniform', 0);