>> edit rosenbrock
function f = rosenbrock(x)
f = 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2;
保存
>> edit unitdisk
function [c, ceq] = unitdisk(x)
c = x(1)^2 + x(2)^2 - 1;
ceq = [ ];
保存
>> options = optimoptions(@fmincon,...
'Display','iter','Algorithm','interior-point');
>> [x,fval] = fmincon(@rosenbrock,[0 0],...
[],[],[],[],[],[],@unitdisk,options)
x =
0.7864 0.6177
fval =
0.0457