maximizing a function with a nonlinear constraint using fmincon
이전 댓글 표시
Dear all,
I have a function 'fun' which I want to maximize with respect to four unknowns: x(1) x(2) x(3) and x(4)
under the constraint
exp(x(2))+exp(x(3))<0.99
So, I set up something like that
function [c,ceq] = mycon(x)
c= exp(x(2))+exp(x(3))-0.99;
ceq=[];
end
x0=[a ;b c; d] % the initial value
options=optimset( 'display','off'); % mainly use this
[xx,fval,exitflag,output,lambda,grad,HH]=fmincon('fun',x0,...
[],[],[],[],[],[],@mycon, options);
But I get this warning
Error using mycon
Too many input arguments.
Error in fmincon (line 622)
[ctmp,ceqtmp] = feval(confcn{3},X,varargin{:});
Error in dokimi_3 (line 96)
[xx,fval,exitflag,output,lambda,grad,HH]=fmincon('fun',x0,...
Caused by:
Failure in initial nonlinear constraint function evaluation. FMINCON cannot continue.
Any ideas what is wrong?
Thank you
댓글 수: 3
ektor
2018년 1월 21일
Walter Roberson
2018년 1월 21일
Is it possible that in your actual code that you passed something to fmincon after the options argument?
채택된 답변
추가 답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Write Constraints에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!