www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/@cgoptimitem/staticNaturalEvaluate.m
function varargout = staticNaturalEvaluate(obj, varargin) %STATICNATURALEVALUATE Evaluate the item at a set of inputs and expression values. % % OUT = STATICNATURALEVALUATE(OBJ, INPUTVALUES, EXPRVALS) evaluates the % optimization item at a set of input values given the set of expression % output values EXPRVALS and returns outputs for each input set. % INPUTVALUES must be a cell array with the same number of elements as % the item has inputs. Each cell contains a matrix of data for that % input. EXPRVALS must be a cell array with the same number of elements % as there are expressions in the expression/function list provided by % the GETSTATICEXPRESSIONS method. The output is a matrix of evaluation % values. These values should match the values that are produced by the % call NATURALEVALUATE(OBJ, INPUTVALUES). % % [OUT, GRAD] = STATICNATURALEVALUATE(OBJ, ..., GRADVALS, GRADVARS) also % calculates the gradient of the objective, given the gradients of the % expression values. GRAVALS is a cell array the same size as EXPRVALS % that contains a 3D matrix for each 2D matrix of expression evaluations % in EXPRVALS. The 3rd dimension contains the gradients with respect to % each free variable value. GRADVARS is a vector of input indices that % indicates which inputs the expression gradients have been calculated % for. GRAD should be a 3D matrix with the first two dimensions the same % size as OUT, and the 3rd dimension the same size as the 3rd dimension % of the expression gradients, i.e. a gradient should be produced for % each variable value GRADVARS specifies. % Copyright 2005 The MathWorks, Inc. % Default action is to pass the call on to the standard staticEvaluate, but % with the scaling turned off. obj = setOutputScaled(obj, false); [varargout{1:nargout}] = staticEvaluate(obj, varargin{:});