How does "fminunc" try new point ?
1 回表示 (過去 30 日間)
古いコメントを表示
I want to minimize "residual sum of squares" by "fminunc". Solver returns local minimum found message. But, During iterative calculation, Solver returns "User objective function returned NaN; trying a new point...". Algorithm of "fminunc" is quasi-newton, so I understand that Solver does not necessarily converge to "local minimum point". I want to know "How does this solver try new point ? ".
0 件のコメント
採用された回答
Alan Weiss
2018 年 6 月 12 日
I believe that, when a solver takes a step and encounters NaN, it then tries a step in the same direction but half the length. If that fails again, then the same direction but halved again. After a few tries it will give up, but I don't know how many tries it takes.
Alan Weiss
MATLAB mathematical toolbox documentation
2 件のコメント
Alan Weiss
2018 年 6 月 12 日
I do not know of a reference, but I believe that this is a typical way to handle failures in a line search.
"Give up" means that fminunc stops iterating after too many evaluation failures and returns the best answer it can. It does not proceed further.
I could not easily read you iterative display. If you want us to be able to read and comment on it, please mark it up with the {} Code button.
Alan Weiss
MATLAB mathematical toolbox documentation
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!