0

我有一个结构变量,它parameters与其他一些变量 ex foo1, foo2. parameters 有 20 个字段。前任。a,b,c,d,e ... 我只想保存 18 个字段。我不想保存parameters.aparameters.b。所以我想保存parameters除了字段aandbfoo1and foo2。我怎样才能做到这一点?

4

1 回答 1

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来排除您不想要的变量。

于 2016-10-03T20:54:19.000 回答