Mercurial > hg > octave-nkf
diff scripts/optimization/fminunc.m @ 9199:399884c9d4a1
import the step adaptation strategy from fsolve to fminunc
author | Jaroslav Hajek <highegg@gmail.com> |
---|---|
date | Fri, 15 May 2009 07:07:41 +0200 |
parents | b7210faa3ed0 |
children | 25f50d2d76b3 |
line wrap: on
line diff
--- a/scripts/optimization/fminunc.m +++ b/scripts/optimization/fminunc.m @@ -137,6 +137,7 @@ endif nsuciter = 0; + lastratio = 0; grad = []; @@ -230,7 +231,7 @@ endif ## Update delta. - if (ratio < 0.1) + if (ratio < min(max(0.1, lastratio), 0.9)) delta *= 0.5; if (delta <= 1e1*macheps*xn) ## Trust region became uselessly small. @@ -238,6 +239,7 @@ break; endif else + lastratio = ratio; if (abs (1-ratio) <= 0.1) delta = 2*sn; elseif (ratio >= 0.5)