- https://www.mathworks.com/help/optim/ug/fmincon.html
- https://www.mathworks.com/help/matlab/ref/integral.html
fmincon con input handle function
3 views (last 30 days)
Show older comments
Buongiorno, ho un dubbio sull'utilizzo della routine fmincon. Ho letto la documentazione, e la call prevede una funzione esplicita in un tot di variabili e dei coefficenti che vanno a determinare i vincoli di uguaglianza e disuguaglianza lineare. Volevo chiedere se invece di una funzione esplicita, fosse possibile passare in input una handle function, come ad esempio un integratore numerico (che ad esempio fa variare le condizioni iniziali per minimizzare l output di integrazione). Nella documentazione l' unico esempio che riporta la chiamata di una handle function, prevede comunque una funzione esplicita all'interno della handle.
0 Comments
Answers (1)
Gowtham
on 20 Sep 2023
Edited: Gowtham
on 27 Sep 2023
Hello Hynod,
I understand that you want to pass handle as an input for fmincon function. To achieve this, we can use the integral function which is a numerical integrator function.
For a sample demonstration of this process, kindly refer to the following steps:
% Initial point
x0 = [1 2];
% Call fmincon to minimize the objective function.
[x, fval] = fmincon(@myObjective, x0);
disp(x);
disp(fval);
function f = f(x)
% This function defines the function f(x) to be integrated.
f = x.^2 - 2*x + 1;
end
function objective = myObjective(x)
% This function returns the objective function value, which is the integral of f(x).
objective = integral(@f, x(1), x(2));
end
Kindly refer to the following MATLAB documentation for further understanding on fmincon and integral
Hope this helps in resolving the issue you were facing.
Regards,
Gowtham
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!