2016-10-03 60 views

回答

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標誌正則表達式來排除不想要的變量。

+0

或者是一個正則表達式:'save(filename,'-struct','data','-regexp','[^ ab]');'雖然可能比'ismember'多一個痛苦。 – excaza