function DrawAckley()
%绘制Ackley函数图形
x=[-40:1:40];
y=x;
[X,Y]=meshgrid(x,y);
[row,col]=size(X);
for l=1:col
for h=1:row
z(h,l)=Ackley([x(l),y(h)]);
end
end
surf(X,Y,z);
shading interp
function result=Ackley(x)
%Ackley 函数
[row,col]=size(x);
if row>1
error('输入的参数错误');
end
result=-20*exp(-0.02*sqrt((1/col)*(sum(x.^2))))-exp((1/col)*sum(cos(2*pi.*x)))+exp(1)+20;
- 1
- 2
- 3
前往页