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

 채택된 답변

Torsten
Torsten 2022년 6월 22일

0 개 추천

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

추가 답변 (0개)

카테고리

도움말 센터File Exchange에서 Surrogate Optimization에 대해 자세히 알아보기

제품

릴리스

R2019b

질문:

2022년 6월 22일

댓글:

2022년 6월 22일

Community Treasure Hunt

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

Start Hunting!

Translated by