在matlab结构数组中循环遍历字段

时间:2015-08-06 12:59:48

标签: matlab loops matrix matlab-struct

我有一个MatLab结构数组如下:

' country.source.scenario.category.entity = year'

我想循环使用现有的' country.source.scenario'组合并生成包含以下字段的单元格或矩阵:类别,实体和年份。 任何人都知道如何做到这一点?感谢

1 个答案:

答案 0 :(得分:0)

您可以使用字段名来获取每个级别的字段,并在每个子级别进行指定,以查看是否需要继续钻取,例如

fields = fieldnames(str);
for field = fields'
    sub = str.(field{1});
    if isstruct(sub)
        %loop through fieldnames
    end
end

你可以将它放在一个递归函数中,在if if中再次调用函数。我没有这样做,因为我不清楚你想要的结果,看起来你只想要标签而不是最后的值。