Problem with subfunction within lsqnonlin??

2 vues (au cours des 30 derniers jours)
Becket Hui
Becket Hui le 9 Sep 2012
Commenté : Pranav Pathak le 27 Juil 2018
I got the following error which involves matlab not knowing how to multiply a scalar with a sparse structure (which is just another number). Does anyone know what is going on?
Error using * MTIMES is not supported for one sparse input and one single input.
Error in trdog (line 30) grad = D*g;
Error in snls (line 315) [sx,snod,qp,posdef,pcgit,Z] = trdog(x,g,A,D,delta,dv,...
Error in lsqncommon (line 175) [xC,FVAL,LAMBDA,JACOB,EXITFLAG,OUTPUT,msgData]=...
Error in lsqnonlin (line 237) [xCurrent,Resnorm,FVAL,EXITFLAG,OUTPUT,LAMBDA,JACOB] = ...
Error in DCE_Analysis (line 35) [Pfinal, chi2] = lsqnonlin(@(P)lSqErr(insignal,inserr,tarr,AIFp,R1T,P),Pstart,Plb,Pub,options);
  1 commentaire
Becket Hui
Becket Hui le 10 Sep 2012
I think I figured it out, it appears that everything must be type double (can't be single) or else it will fail.

Connectez-vous pour commenter.

Réponses (1)

Steve Grikschat
Steve Grikschat le 25 Sep 2012
All values returned to lsqnonlin must be of data type double.
  1 commentaire
Pranav Pathak
Pranav Pathak le 27 Juil 2018
Hello Sir,
Do we have any work around for this case?
I need to pass a single datatype value to the lsqnonlin function.
With Typecasting, I am able to resolve the error but this procedure does NOT optimize the value. It stops after one iteration.
Please let me know your feedback.

Connectez-vous pour commenter.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by