如何创建一个循环来搜索mat文件中的结构变量?

时间:2012-06-06 14:05:53

标签: matlab

我有一个mat文件,其中包含一系列按顺序命名的结构变量:step001,step002,... step070。这些变量中的每一个都有一个名为“type”的字段。 我想创建一个循环来选择那些'type'字段等于'rest'而忽略其他变量的变量。

非常感谢任何帮助。 伊赫桑

1 个答案:

答案 0 :(得分:0)

%get all the variables in the file:
x = who('-file',name_of_file_string);

for each variable
for i = 1:length(x)

    %construct a new structure S, with the structure as a substructure, using 
    %dynamic naming with sprintf:

    S = load(name_of_file_string,x(i))

    %compare string in 'type' field to 'rest'
    if strcmp(S.(printf('%s',x(i))).type,'rest')
        %if successful, do what you want with:
        S.(printf('%s',x(i))).type
    end

end