function Ackley dx = 1; xlimits = [-30 30]; N = floor((xlimits(2) - xlimits(1)) / dx) + 1; obj = zeros(N, N); i = 0; for x = xlimits(1) : dx : xlimits(2) i = i + 1; k = 0; for y = xlimits(1) : dx : xlimits(2) k = k + 1; sum1 = x^2 + y^2; sum2 = cos(2*pi*x) + cos(2*pi*y); obj(i,k) = 20 + exp(1) - 20 * exp(-0.2*sqrt(sum1/2)) - exp(sum2/2); end end close all; [x, y] = meshgrid(xlimits(1) : dx : xlimits(2)); mesh(x,y,obj); figure; contour(x,y,obj); hold; plot(0,0,'*'); plot(0,0,'o');