Rastrigin函数 使用c++
时间: 2023-12-11 21:02:05 浏览: 141
可以使用以下的C++代码来实现Rastrigin函数:
```c++
#include <iostream>
#include <cmath>
using namespace std;
double rastrigin(double x[], int dim) {
double result = 0.0;
double A = 10.0;
double pi = 3.14159265358979323846;
for (int i = 0; i < dim; i++) {
result += pow(x[i], 2) - A * cos(2 * pi * x[i]);
}
result += A * dim;
return result;
}
int main() {
int dim = 2;
double x[dim] = {0.5, -1.2};
double result = rastrigin(x, dim);
cout << "Rastrigin function value: " << result << endl;
return 0;
}
```
在上述代码中,我们定义了一个 `rastrigin` 函数,该函数接收一个包含变量值的数组和一个维度参数,并返回Rastrigin函数的值。我们还在 `main` 函数中定义了一个包含变量值的数组,并调用 `rastrigin` 函数来计算函数值。
阅读全文