From 10e2e4d8b4a7592a8631ddac8e8d1664d6f0b9e3 Mon Sep 17 00:00:00 2001 From: harpreet Date: Sat, 16 Apr 2016 12:12:15 +0530 Subject: fmincon examples --- macros/lsqnonlin.sci | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) (limited to 'macros/lsqnonlin.sci') diff --git a/macros/lsqnonlin.sci b/macros/lsqnonlin.sci index 22df579..823d088 100644 --- a/macros/lsqnonlin.sci +++ b/macros/lsqnonlin.sci @@ -175,7 +175,7 @@ function [xopt,resnorm,residual,exitflag,output,lambda,gradient] = lsqnonlin (va ub = varargin(4); end - if ( rhs<7 | size(varargin(5)) ==0 ) then + if ( rhs<5 | size(varargin(5)) ==0 ) then param = list(); else param =varargin(5); @@ -240,7 +240,7 @@ function [xopt,resnorm,residual,exitflag,output,lambda,gradient] = lsqnonlin (va //To check the match between fun (1st Parameter) and x0 (2nd Parameter) if(execstr('init=_fun(x0)','errcatch')==21) then - errmsg = msprintf(gettext("%s: Objective function and x0 did not match"), "fmincon"); + errmsg = msprintf(gettext("%s: Objective function and x0 did not match"), "lsqnonlin"); error(errmsg); end @@ -309,7 +309,12 @@ function [xopt,resnorm,residual,exitflag,output,lambda,gradient] = lsqnonlin (va options(6) = __fGrad; - [xopt,fopt,exitflag,output,lambda_fmincon,gradient] = fmincon(__fun,x0,[],[],[],[],lb,ub,[],options); + function [c, ceq] = nlc(x) + c = []; + ceq = []; + endfunction + + [xopt,fopt,exitflag,output,lambda_fmincon,gradient] = fmincon(__fun,x0,[],[],[],[],lb,ub,nlc,options); lambda = struct("lower", lambda_fmincon.lower,"upper",lambda_fmincon.upper); -- cgit