ackley function的matlab代码
时间: 2024-02-12 16:41:09 浏览: 81
Ackley 函数:Ackley 函数是一个具有大量局部最小值的 n 维函数。-matlab开发
下面是Ackley函数的Matlab代码:
```matlab
function y = ackley(x)
n = length(x);
sum1 = sum(x.^2);
sum2 = sum(cos(2*pi*x));
term1 = -20 * exp(-0.2 * sqrt(sum1 / n));
term2 = -exp(sum2 / n);
y = term1 + term2 + 20 + exp(1);
end
```
该代码定义了一个名为`ackley`的函数,它接受一个输入向量`x`,并返回对应的Ackley函数值。请注意,Ackley函数是一个多峰函数,具有全局最小值和许多局部最小值。
阅读全文