www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgoptimrunner/saveobj.m

    function obj = saveobj(obj)
%SAVEOBJ Save-time actions for object.
%
%   OBJ = SAVEOBJ(OBJ) is called when an object is saved

%   Copyright 2005 The MathWorks, Inc.


obj.Setup = saveobj(obj.Setup);
obj.Parameters = saveobj(obj.Parameters);

obj.Objectives = i_SaveAllItemData(obj.Objectives);
obj.Constraints = i_SaveAllItemData(obj.Constraints);




function AllItemData = i_SaveAllItemData(AllItemData)
for n = 1:length(AllItemData.Items)
    AllItemData.Items{n} = saveobj(AllItemData.Items{n});
end
AllItemData.ExpressionStore = saveobj(AllItemData.ExpressionStore);

EvalTypes = fieldnames(AllItemData.EvaluationData);
for n = 1:length(EvalTypes)
    AllItemData.EvaluationData.(EvalTypes{n}) = ...
        i_SaveSubData(AllItemData.EvaluationData.(EvalTypes{n}));
end


function SubData = i_SaveSubData(SubData)
SubData.ExpressionGradFcn = [];