lsqnonlin doesn't work in my case

1 view (last 30 days)
21did21
21did21 on 3 Nov 2011
dear all,
i have a function "calculs" which have in input a vector of parameters [a,b,c] and in output a residu vector like [1e-9 5e-8 1e-7 5e-4 0.001]
i want to minimize this residu vector, so i use lsqnonlin like this:
A=0.21;
B=5100;
C=-0.07;
parameters=[A B C];
lb=[0.13 3500 -1.5];
ub=[2.6 8000 5];
options = optimset('Display','iter','MaxIter',40,'TolX',1e-10,'TolFun',1e-10)
[x,resnorm] = lsqnonlin(@calculs,parameters,lb,ub,options);
when i run this "lsqnonlin" do just 1 iteration and give this "resnorm" without minimization: 0.000757
and the output in matlab is:
Optimization completed: The final point is the initial point.
The first-order optimality measure, 0.000000e+000, is less than
options.TolFun = 1.000000e-008.
Optimization Metric Options
relative first-order optimality = 0.00e+000 TolFun = 1e-008 (selected)
but it's not the minimum! to have a proof i vary a little A,B,C and i find a "resnorm" like: 0.000607
so with lsqnonlin don't minimize my function ??
thanks for your help

Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!