lsqnonlin doesn't work in my case
2 views (last 30 days)
Show older comments
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
0 Comments
Answers (0)
See Also
Categories
Find more on Nonlinear Optimization in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!