www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgoptimoutput/private/pGenerateOutputNames.m
function Labels = pGenerateOutputNames(obj, opts) %PGENERATEOUTPUTNAMES Generate output data labels. % % LABELS = PGENERATEOUTPUTNAMES(OBJ, OPTS) generates a cell array of % output column labels for an output that is created according to the % provided options OPTS. % Copyright 2005-2006 The MathWorks, Inc. options = getOptimOptions(obj.optimRunner, 'full'); Labels = {}; Sizes = []; for n =1:length(opts.OutputContents) if opts.OutputContents(n) == opts.OutputFreeVars Labels = [Labels, getFreeVariableNames(obj.optimRunner)]; Sizes = [Sizes, numFreeValues(obj.optimRunner)]; end if opts.OutputContents(n) == opts.OutputFixedVars Labels = [Labels, getFixedVariableNames(obj.optimRunner)]; Sizes = [Sizes, numFixedValues(obj.optimRunner)]; end if opts.OutputContents(n) == opts.OutputObjectives Labels = [Labels, getObjectiveLabels(options)]; Sizes = [Sizes, numObjectives(obj.optimRunner)]; end if opts.OutputContents(n) == opts.OutputConstraints ... || opts.OutputContents(n) == opts.OutputConstraintLHS ... || opts.OutputContents(n) == opts.OutputConstraintRHS ... || opts.OutputContents(n) == opts.OutputConstraintFeas Labels = [Labels, getConstraintLabels(options)]; Sizes = [Sizes, numConstraints(obj.optimRunner)]; end end if opts.ConcatenateOutput % Expand labels up so there is one for each concatenated column k = 1; Base = Labels; Labels = cell(1, sum(Sizes)); for n = 1:length(Base) Labels(k:k+Sizes(n)-1) = pGenerateOptimItemStrings(Base{n}, Sizes(n)); k = k+Sizes(n); end end