用matlab写粒子群优化算法解rosenbrock函数,有大神会吗

2025-05-14 16:15:20
推荐回答(1个)
回答1:

>> 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