matlab求解非线性不等式约束问题

min x(1)+2*x(2)
s.t x(1)+x(2)+3*x(2)*x(2)<=15
x(1)>0, x(2)>0
该怎么编程呢?

第1个回答  2013-04-29
function zhidao0429
f=@(x)x(1)+2*x(2);
function [c,ceq] = nonlcon(x)
c=x(1)+x(2)+3*x(2)*x(2)-15;
ceq=[];
end
Aeq=[];
Beq=[];
A=[];
B=[];
lb=[0,0];
ub=[];
x0=[1,2];
[x,fval] =fmincon(f,x0,Aeq,Beq,A,B,lb,ub,@nonlcon)
end
保存为m文件运行即可

x =

0 0

fval =

0本回答被提问者采纳