fmincon using only gradient vector, without scalar function
1 visualización (últimos 30 días)
Mostrar comentarios más antiguos
HAT
el 27 de Sept. de 2020
Comentada: Walter Roberson
el 1 de Oct. de 2020
I would like to use MATLAB function fmincon using the gradient vector alone (without scalar function f). But I have trouble with it. For instance, I have tried the following, but it doesn't work. Any help please? Thanks in advance!
x0 = [-1,2];
A = [];
b = [];
Aeq = [];
beq = [];
lb = [-2,-2];
ub = [2,2];
x = fmincon(@myfun,x0,A,b,Aeq,beq,lb,ub)
function [grad] = myfun(x)
grad = [-400*(x(2)-x(1)^2)*x(1)-2*(1-x(1));
200*(x(2)-x(1)^2)];
end
1 comentario
Ameer Hamza
el 27 de Sept. de 2020
The concept of optimization problem does not make sense without an objective function. What does the gradient even mean in that case? Can you tell me what you are trying to do here?
Respuesta aceptada
Walter Roberson
el 27 de Sept. de 2020
That is not supported by fmincon. You must return a scalar value as the first output.
If you have set the appropriate option in the option structure, you can also return the gradient as the second output.
3 comentarios
Walter Roberson
el 1 de Oct. de 2020
fmincon does not support that. As far as I recall, none of the Mathworks minimizers support that.
Más respuestas (0)
Ver también
Categorías
Más información sobre Solver Outputs and Iterative Display en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!