summaryrefslogtreecommitdiff
path: root/macros/lsqnonlin.sci
diff options
context:
space:
mode:
authorharpreet2016-04-16 12:12:15 +0530
committerharpreet2016-04-16 12:12:15 +0530
commit10e2e4d8b4a7592a8631ddac8e8d1664d6f0b9e3 (patch)
tree087af3ca1853d01afef58684b09b537597317023 /macros/lsqnonlin.sci
parent8484c85784b84cc3a9257f8d8065b3a8a7800628 (diff)
downloadFOSSEE-Optimization-toolbox-10e2e4d8b4a7592a8631ddac8e8d1664d6f0b9e3.tar.gz
FOSSEE-Optimization-toolbox-10e2e4d8b4a7592a8631ddac8e8d1664d6f0b9e3.tar.bz2
FOSSEE-Optimization-toolbox-10e2e4d8b4a7592a8631ddac8e8d1664d6f0b9e3.zip
fmincon examples
Diffstat (limited to 'macros/lsqnonlin.sci')
-rw-r--r--macros/lsqnonlin.sci11
1 files changed, 8 insertions, 3 deletions
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);