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