将结构的一些字段保存到MATLAB中的文件中

时间:2016-10-03 20:51:06

标签: matlab save matlab-struct

我有一个结构变量parameters,其他变量只有foo1foo2parameters有20个字段。恩。 a,b,c,d,e ... 我想只保存18个字段。我不想保存parameters.aparameters.b。所以除了字段parametersa以及bfoo1之外,我想保存foo2。我怎么能这样做?

1 个答案:

答案 0 :(得分:1)

您可以在使用rmfield保存字段之前删除字段。

tosave = rmfield(parameters, {'a', 'b'});
save(filename, '-struct', 'tosave');

或者您可以获取所有字段的列表,删除您不想要的字段,然后将这些字段传递给save。这样做的另一个好处是无需复制struct

% Get all fields of parameters
allfields = fieldnames(parameters);

% Remove the fields you don't want to keep
fields = allfields(~ismember(allfields, {'a', 'b'}));

% Now save the rest
save(filename, '-struct', 'parameters', fields{:});

或者正如@excaza所说,您可以使用-regexp标记制作正则表达式,以排除您不想要的变量。