What does this lsqnonlin error mean?
    3 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
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 comentarios
Respuesta aceptada
  Steve Grikschat
    
 el 13 de Sept. de 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.
Más respuestas (0)
Ver también
Categorías
				Más información sobre Manual Performance Optimization 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!

