fmincon_fungrad.m

来自「optimization toolbox」· M 代码 · 共 19 行

M
19
字号
function df = fmincon_fun(x,params)

xevaled = zeros(1,length(params.interfacedata.c));
xevaled(params.linearindicies) = x;

% Experimental support for arbitrary functions
if ~isempty(params.interfacedata.evalMap)
    for i = 1:length(params.interfacedata.evalMap)
        xevaled(params.interfacedata.evalVariables(i)) = feval( params.interfacedata.evalMap{i}.fcn,xevaled(params.interfacedata.evalMap{i}.variableIndex));
    end
end

if nnz(params.interfacedata.c(params.nonlinearindicies)) == 0 & isempty(params.interfacedata.evalMap)
    %At most quadratic!
    df = params.interfacedata.c(params.linearindicies) + 2*params.interfacedata.Q(params.linearindicies,params.linearindicies)*x;
else
    error('not implmented')
end
    

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?