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에서 Trimming and Linearization에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!