What does this lsqnonlin error mean?
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Hi
I'm attempting a nonlinear parameter fit using lsqnonlin and a Simulink model. I'm following a similarly method to: http://www.mathworks.com/help/optim/ug/lsqnonlin-with-a-simulink-model.html
After the function starts, I get this weird error below. What does it mean?
First-Order Norm of
if true
% Iteration Func-count Residual optimality Lambda step
0 3 231.377 51.4 0.01
1 6 179.496 51.1 0.001 6.82145
Subscripted assignment dimension mismatch.
Error in C:\MATLAB\R2012a Student\toolbox\shared\optimlib\finitedifferences.p>finitedifferences (line 159)
Error in levenbergMarquardt (line 235)
[JAC,~,~,numEvals,evalOK] = finitedifferences(XOUT,funfcn{3},[],[],[],costFun, ...
Error in lsqncommon (line 181)
[xC,FVAL,JACOB,EXITFLAG,OUTPUT,msgData] = ...
Error in lsqnonlin (line 235)
[xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
Error in runSpringDamplsq (line 34)
param = lsqnonlin(@springDamplsq, param0, [], [], options);
end
0 Commenti
Risposta accettata
Steve Grikschat
il 13 Set 2013
This error is occurring because your function is returning arrays of varying sizes. In this case, it is being caught during finite-difference estimation of the function's Jacobian.
Check your function that you pass to lsqnonlin and make sure that it returns an array with a consistent number of elements.
Più risposte (0)
Vedere anche
Categorie
Scopri di più su Least Squares in Help Center e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!