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

    function [optim,ok] = guiObjectiveEditor(optim, index, pProj)
%GUIOBJECTIVEEDITOR Graphically edit an objective function
%
%  [OPTIM, OK] = GUIOBJECTIVEEDITOR(OPTIM, INDEX, PPROJ) opens a dialog for
%  editing the specified objective.

%  Copyright 2000-2007 The MathWorks, Inc. and Ford Global Technologies, Inc.


[newobj, ok] = guiTypeChooser(optim.Objectives{index}, pProj, optim, ...
    'EditableName', canRename(optim.OptimSetup));
if ok
  
    % New objective name
    newObjName = getName(newobj);
    
    % Old objective name
    oldObjName = getName(optim.Objectives{index});
    
    % Rename the objective in the optim setup if required
    if ~strcmp(newObjName, oldObjName)
        newObjName = generateLabel(optim.OptimSetup, ...
            newObjName, 'allowroot');
        optim.OptimSetup = renameObjective(optim.OptimSetup, ...
            oldObjName, newObjName);
    end
        
    % Set the new objective 
    optim = setObjectiveFunc(optim, newObjName, newobj);
end