nonlinear least squares function
1 回表示 (過去 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!