Hello,
I am trying to run an optimization with fmincon, with the function defined independently.
x0 = [-1,2];
A = [1,2];
b = 1;
x = fmincon(z1_test,x0,A,b)
function f2 = z1_test(x)
100*(x(2)-x(1)^2)^2 + (1-x(1))^2
end
For whatever reason, I keep on getting the same error message.
Capture.PNG
But if I were to define the function thusly, I know it works
x0 = [-1,2];
A = [1,2];
b = 1;
z1_test = @(x)100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
x = fmincon(z1_test,x0,A,b)
It is driving me crazy.

 채택된 답변

madhan ravi
madhan ravi 2019년 1월 26일

1 개 추천

x0 = [-1,2];
A = [1,2];
b = 1;
x = fmincon(@z1_test,x0,A,b)
% ^------ missed it
function f2 = z1_test(x)
f2 = 100*(x(2)-x(1)^2)^2 + (1-x(1))^2;
%^^--------- forgot to assign output
end

추가 답변 (0개)

카테고리

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

질문:

2019년 1월 26일

댓글:

2019년 1월 26일

Community Treasure Hunt

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

Start Hunting!

Translated by