rosenbrock.m

来自「粒子群算法」· M 代码 · 共 17 行

M
17
字号
%The Rosenbrock function for use with the psotoolbox
%
% Function Description:
% Equation -> sum ( 100 * (x(i+1) - x(i)^2)^2 + (1-x(i))^2 )
%      xmin  = [1, 1, 1.....1]  (all ones)
%      fxmin = 0                  (zero)
function Rosened = Rosenbrock(Swarm)
[SwarmSize, Dim] = size(Swarm);
Swarm1 = Swarm(:, 1:(Dim-1));
Swarm2 = Swarm(:, 2:Dim);
if Dim == 2
    Rosened = 100 * (Swarm2 - Swarm1.^2).^2 + (1 - Swarm1).^2;
else     
    Rosened = sum((100 * (Swarm2 - Swarm1.^2).^2 + (1 - Swarm1).^2)')'; 
end   

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?