既约梯度法的约束条件为线性,目标函数可为非线性。
验证:
oldFmt = format("rat"); f=@(x) x(1)^2+x(2)^2-x(1)*x(2)-2*x(1)-3*x(2); A = [1,1 1,5]; b = [2,5]; Aeq=[]; beq=[]; lb=[0,0]; ub=[]; [x,fval] = fmincon(f,[0,0],A,b,Aeq,beq,lb,ub) format(oldFmt);
x =
35/31 24/31
fval =
-111/31