matlab2012a vs matlab20111b. Why does the latter produces an error message?
2 views (last 30 days)
Show older comments
Dear all,
I use matlab 2012a and matlab 2011b
I have constructed a code and whenever I run it in matlab 2012a everything runs normal Yet, whenever I run it in matlab2011b I obtain the following error which is related to the fminunc function
??? Error using ==> roots at 28
Input to ROOTS must not contain NaN or
Inf.
Error in ==>
lineSearch>globalMinimizerOfPolyInInterval
at 304
stationaryPoint = roots([3*coeff(1)
2*coeff(2) coeff(3)]);
Error in ==>
lineSearch>pickAlphaWithinInterval at 279
z =
globalMinimizerOfPolyInInterval(zlb,zub,coeff);
Error in ==> lineSearch>sectioningPhase at
193
alpha =
pickAlphaWithinInterval(brcktEndpntA,brcktEndpntB,a,b,f_a,fPrime_a,f_b,fPrime_b);
Error in ==> lineSearch at 55
[alpha,f_alpha,grad,exitflag,funcCount]
= sectioningPhase(funfcn, ...
Error in ==> fminusub at 208
[alpha,f,grad,exitflagLnSrch,funcCountLnSrch]
= ...
Error in ==> fminunc at 376
[x,FVAL,GRAD,HESSIAN,EXITFLAG,OUTPUT] =
fminusub(funfcn,x, ...
Error in ==> testxa2 at 252
[xxx,fval,exitflag,output,gradient,H]=fminunc('CES_mode7cutDCsvk',x00,options,...
Why is this happening? Do I neeed to update this function within matlab2011b?
Regards,
0 Comments
Accepted Answer
Seth DeLand
on 22 Aug 2012
I think the cause here is that fminunc was updated in R2012a to attempt to recover when the objective function returns NaN or Inf: http://www.mathworks.com/help/toolbox/optim/rn/bs86_xz.html#bs87ab0
My guess is that at some point your objective function 'CES_mode7cutDCsvk' is returning a value of Inf or NaN. In 12a fminunc attempts to recover from this, but in 11b it just causes an error.
If you need to use 11b, check out this thread for some things you could try: http://www.mathworks.com/matlabcentral/newsreader/view_thread/270387
Of course, if you can use 12a that would be best since the solver has been enhanced.
More Answers (0)
See Also
Categories
Find more on Scope Variables and Generate Names in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!