如何在MATLAB中的for循环的mat文件中使用Struct?

时间:2018-10-08 18:26:52

标签: matlab

谢谢大家。我试图在MATLAB中执行以下代码并获得准确的结果。但是,当我尝试在for循环中执行此操作时,我不想在for循环的最后一行中编写ni​​m_10_boat。我希望它应该被动态放置。请提出建议。

`for filenames = {'nim_01_boat', 'nim_10_boat'}
thisfile = filenames{2};
datastruct = load(thisfile);
xyz = datastruct.**nim_10_boat**;
end`

当我在命令窗口中执行datastruct时 datastruct =

         im: [256x256 uint8]
          n: 0.1000
          K: 1
        win: 3
nim_10_boat: [256x256 uint8]

1 个答案:

答案 0 :(得分:2)

您可以如下动态访问字段名称:

% a sample struct
S = struct('a', randn(3), 'b', randn(5), 'c', randn(7));
fieldNames = {'a', 'b', 'c'};

for f = 1:length(fieldNames)
   % access field
   thisField = S.(fieldNames{f});
end

请注意使用()来访问使用变量名的字段名。