Minimizing a function using the BFGS method
Show older comments
I can not minimize it using the fminunc function. While respecting that both alpha and beta values are between 0 and 1. Thanks!
Answers (1)
John D'Errico
on 7 Jul 2016
Edited: John D'Errico
on 7 Jul 2016
0 votes
You cannot do so using BFGS either. However, you COULD use FMINCON to do so. And if you have fminunc, then you have fmincon.
So what is the point of this question? In fact, you have no question here that I see. Writing your own tools for something when you already have professionally written tools to do the same thing is just a waste of time.
8 Comments
amine&&
on 7 Jul 2016
Torsten
on 7 Jul 2016
x = fmincon(@(x)mFunction(x(1),x(2)),x0,A,b,Aeq,beq)
Best wishes
Torsten.
John D'Errico
on 7 Jul 2016
That just means you did not use fmincon properly, as shown how by Torsten.
amine&&
on 7 Jul 2016
amine&&
on 7 Jul 2016
John D'Errico
on 7 Jul 2016
Torsten showed you how to do it.
You made a mistake in not formulating your function properly. First, an optimizer passes in a vector of unknowns. Your function has TWO arguments, two unknowns. So Torsten showed you that the function needs to be passed its arguments properly.
Next, when you call it like this:
x = fmincon(mFunction,x0,A,b,Aeq,beq)
MATLAB does not understand that you want to pass a function to fmincon. It sees the function and tries to evaluate it instead. So Torsten showed you how to use a function handle.
amine&&
on 7 Jul 2016
Categories
Find more on Solver Outputs and Iterative Display 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!