Involve fminbnd in optimoptions

1 view (last 30 days)
I want to minimize a function f: which has a single variable θ. I want to minimize the function so I want to use the command "fminbnd". Although I want to see the iteration display through "optimoptions". If I write a chunk of code like this
fun = @(theta) optimum_theta(alpha,snr_db(isnrdb),t_min,t_max,m,theta);
options = optimoptions('fminbnd','Display','iter'); % show iterations
[x fval exitflag output] = fminbnd(fun,lower_bound,upper_bound,options);
Here the chunk of code I am not getting how to proceed

Accepted Answer

John D'Errico
John D'Errico on 30 Oct 2021
Edited: John D'Errico on 30 Oct 2021
Note that fminbnd is not provided as part of the optimization toolbox. As well, fminbnd has been around a long time. So optimoptions does not support fminbnd. (I suppose there are good arguments as to why it should. But it apparently does not.)
Use optimset instead.
fun = @(x) (x-pi).^2; % not very creative
opts = optimset('fminbnd');
opts.Display = 'iter';
[x fval exitflag output] = fminbnd(fun,0,10,opts)
Func-count x f(x) Procedure 1 3.81966 0.459775 initial 2 6.18034 9.23398 golden 3 2.36068 0.609825 golden 4 3.14159 0 parabolic 5 3.14163 1.11423e-09 parabolic 6 3.14156 1.11423e-09 parabolic Optimization terminated: the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-04
x = 3.1416
fval = 0
exitflag = 1
output = struct with fields:
iterations: 5 funcCount: 6 algorithm: 'golden section search, parabolic interpolation' message: 'Optimization terminated:↵ the current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-04 ↵'
Note: you would have learned that quickly had you read the docs for fminbnd, where you would see that it uses optimset.

More Answers (0)

Categories

Find more on Get Started with Optimization Toolbox 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!