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!