nonlinear least squares function
3 次查看(过去 30 天)
显示 更早的评论
Hi dears
I would like to ask for more information about nonlinear least squares, i was using it as follow
mas=[s y x z] [x,resnorm,residual,exitflag,output,lambda,j]=lsqnonlin('myfun',mas); s=x(1); y=x(2); x=x(3); z=x(4);
my function was as follow: function [f]=myfun(x) load data.txt i1=data(1:1250,2); v=data(1:1250,1); g=(i1./v); f=((g.*(v.*i1))./((x(1)*x(2)).*g.^(x(3)+x(4))))-(g./(x(1).*g.^x(4))); end
It was giving me this message objective function is returning undefined values at initial point. lsqnonlin cannot continue.
Thanks for your attention and time
0 个评论
采纳的回答
Brendan Hamm
2015-4-24
编辑:Brendan Hamm
2015-4-24
If you call your objective function with the variable mas are there any NaNs or Infs in it?
any(isnan(myfun(mas))) || any(isinf(myfun(mas)))
If the answer is a logical 1 (as I suspect), then you have a non-feasible starting point. Try readjusting your initial guess. MATLAB does not know how to adjust your input vector in this case. This is likely due to a division by 0 returning an Inf, but could be a 0/0 case returning a NaN.
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Electrical Sensors 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!