matlab中求一个二元对数函数的最大值(含有不等式约束条件)

有人知道要求这个目标函数的最大值的function函数应该怎么写么?这不是一个凸优化问题,不能直接用cvx函数求解,谢谢了

第1个回答  2015-07-22
function f=fun(x)
f=-x(1)*log2(1+100*x(2));

function [c, ceq] = confun(x)
%CONFUN Nonlinear inequality constraints.
% Documentation example.
% Copyright 1990-2008 The MathWorks, Inc.

% $Revision: 1.1.6.3 $ $Date: 2008/02/29 12:47:41 $
c = x(1)*(x(2)+2)-5;

% No nonlinear equality constraints:
ceq = [];

x0=[1 1];
[x,fval]=fmincon(@fun,x0,[],[],[],[],[0 0],[20,inf],@comfun)
disp('x=')
disp(x)
disp('maxval=')
disp(-fval)本回答被网友采纳