trying to use the fmincon function

1 vue (au cours des 30 derniers jours)
Robert Jones
Robert Jones le 22 Juin 2022
Commenté : Robert Jones le 22 Juin 2022
Hello,
I am trying to use the fmincon with a external function definition.
I ran the example at https://www.mathworks.com/help/optim/ug/fmincon.html and it wroked as described
I tried to define the function as an external function as shown below.
% script calling fmincon start
clc
clear all
x0=[-1,2];
A=[1,2];
b=1;
zeta=fmincon(fun,x0,A,b);
% script calling fmincon end
% script defining fun start
function q=fun(x)
q=100*(x(2)-x(1)^2)^2+(1-x(1))^2;
end
% script defining fun end
I get this error: Not renough input arguments from the fun script
Not sure how to fix this probem
Thank you

Réponse acceptée

Torsten
Torsten le 22 Juin 2022
Works for me after changing "fun" in "@fun":
% script calling fmincon start
clc
clear all
x0=[-1,2];
A=[1,2];
b=1;
zeta=fmincon(@fun,x0,A,b)
Local minimum found that satisfies the constraints. Optimization completed because the objective function is non-decreasing in feasible directions, to within the value of the optimality tolerance, and constraints are satisfied to within the value of the constraint tolerance.
zeta = 1×2
0.5022 0.2489
% script calling fmincon end
% script defining fun start
function q=fun(x)
q=100*(x(2)-x(1)^2)^2+(1-x(1))^2;
end
% script defining fun end
  1 commentaire
Robert Jones
Robert Jones le 22 Juin 2022
Great, Thank you

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with Optimization Toolbox dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by