Matlab测试函数

Sphere#

f(x)=i=1nxi2 f(x) = \sum_{i=1}^{n}x_i^2

x = 1:10
y = sum(x.^2)

y = 385

Rastrigin#

f(x)=i=1n(xi210cos(2πxi)+10) f(x) = \sum_{i=1}^{n}(x_i^2 - 10cos(2\pi x_i) + 10)

x = 1:10
y = sum(x.^2 - 10 * cos(2 * pi * x) + 10)

y = 385

Griewank#

f(x)=14000i=1nxi2i=1ncos(xii)+i f(x) = \frac{1}{4000}\sum_{i=1}^{n}x_i^2 - \prod_{i=1}^{n}cos(\frac{x_i}{\sqrt i}) + i

x = 1:10
n = length(x)
y = 1/4000 * sum(x.^2) - prod(cos(x./sqrt(1:n))) + 1

y = 1.0940

Rosenbrock#

f(x)=i=1n1[100(xi+1xi2)2+(xi1)2] f(x) = \sum_{i=1}^{n-1}[100(x_{i+1} - x_i^2)^2 + (x_i - 1)^2]

x = 1:10
t1 = x(1:end-1)
t2 = x(2:end)
y = sum(100 * (t2 - t1.^2).^2 + (t1 - 1).^2)

y = 1109904

本作品采用《CC 协议》,转载必须注明作者和本文链接