Rev | Line | |
---|
[37] | 1 | function f = fmincon_fun(x,params) |
---|
| 2 | |
---|
| 3 | xevaled = zeros(1,length(params.interfacedata.c)); |
---|
| 4 | xevaled(params.linearindicies) = x; |
---|
| 5 | |
---|
| 6 | % Experimental support for arbitrary functions |
---|
| 7 | if ~isempty(params.interfacedata.evalMap) |
---|
| 8 | for i = 1:length(params.interfacedata.evalMap) |
---|
| 9 | xevaled(params.interfacedata.evalVariables(i)) = feval( params.interfacedata.evalMap{i}.fcn,xevaled(params.interfacedata.evalMap{i}.variableIndex)); |
---|
| 10 | end |
---|
| 11 | end |
---|
| 12 | |
---|
| 13 | xevaled(params.nonlinearindicies) = prod(repmat(xevaled,length(params.nonlinearindicies),1).^params.monomtable(params.nonlinearindicies,:),2); |
---|
| 14 | |
---|
| 15 | xevaled = xevaled(:); |
---|
| 16 | f = params.interfacedata.c'*xevaled+xevaled'*params.interfacedata.Q*xevaled; |
---|
Note: See
TracBrowser
for help on using the repository browser.