How to see the current value of the variable in "fminsearch" optimization?
54 ビュー (過去 30 日間)
古いコメントを表示
Hi,
I am running fminsearch command to find a minimum of a function. It is taking very long. However, I want to see the current value of the variable being serached. For example,"X=fminsearch(@fcn,init0,options)" showld display X in each interation. I looked into documentaiton of "optimset" but I couldn't find something helpful.
Advance, Thanks,
Ahmed.
0 件のコメント
採用された回答
Alan Weiss
2020 年 7 月 23 日
You can do this using an Output Function. That example shows how to return the history of points, which is I think what you want.
Alan Weiss
MATLAB mathematical toolbox documentation
その他の回答 (1 件)
Vladimir Sovkov
2020 年 7 月 23 日
optimset('Display','iter');
From Matlab documentation:
'Display' — Level of display
'notify' (default) | 'final' | 'off' | 'none' | 'iter'
Level of display, specified as the comma-separated pair consisting of 'Display' and one of these values:
- 'notify' — Display output only if the function does not converge.
- 'final' — Display just the final output.
- 'off' or 'none' — Display no output.
- 'iter' — Display output at each iteration (not available for lsqnonneg).
Display is available for all optimization solvers.
Example: options = optimset('Display','iter')
Data Types: char | string
2 件のコメント
Vladimir Sovkov
2020 年 7 月 23 日
I do not think it is possible with fminsearch due to a (generally) multidimensional nature of the variable, which is hard to display in a compact form.
The things are easier with the 1D variable: this case you can use an alternative function such as fminbnd, which is able to output the X values at every next itereation via the same approach; besides, it must be faster in the 1D case.
参考
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!