nonlinear least squares function
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Khalid
el 24 de Abr. de 2015
Comentada: Khalid
el 30 de Abr. de 2015
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 comentarios
Respuesta aceptada
Brendan Hamm
el 24 de Abr. de 2015
Editada: Brendan Hamm
el 24 de Abr. de 2015
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.
Más respuestas (0)
Ver también
Categorías
Más información sobre Electrical Sensors en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!