Error while using lsqnonlin
28 次查看(过去 30 天)
显示 更早的评论
I am using the Matlab function lsqnonlin for estimating a vector of several values. Before calling lsqnonlin, I am making a rough estimation of the 4 parameters, and afterwards the lsqnonlin is being initialized using these four parameters. The following error stops the execution:
Error using snls (line 48)
Objective function is returning undefined values at initial point. lsqnonlin cannot continue.
Error in lsqncommon (line 150)
[xC,FVAL,LAMBDA,JACOB,EXITFLAG,OUTPUT,msgData]=...
Error in lsqnonlin (line 237)
[xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
Error in Untitled_2015 (line 53)
[x,resnorm,residual,exitflag,output,lambda,J]=lsqnonlin('myfunscwarz',thetan);
Looking forward for your suggestions !!
0 个评论
回答(1 个)
Matt J
2015-10-11
编辑:Matt J
2015-10-11
I suggest you check the value of your objective function ('myfunscwarz') at the initial point and see if the error message is accurate.
1 个评论
John D'Errico
2015-10-11
编辑:John D'Errico
2015-10-11
You say the initial values are "rough". But does your objective function even return a valid result at that point? This is a check you should make on any optimization, BEFORE you start it out.
Think of an optimizer as a poor soul that you place somewhere on the surface of the earth, then tasked with finding the deepest valley by walking downhill. If you place him in the middle of an active volcano, he may die before he ever starts searching. This is generally a bad idea. (At least give him scuba gear though, since it may get wet in that deep valley.)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Direct Search 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!