我有一个结构变量,它parameters
与其他一些变量 ex foo1
, foo2
. parameters
有 20 个字段。前任。a,b,c,d,e ...
我只想保存 18 个字段。我不想保存parameters.a
和parameters.b
。所以我想保存parameters
除了字段a
andb
和foo1
and foo2
。我怎样才能做到这一点?
问问题
389 次
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 回答