rastrigin函数matlab代码

matlab
function y = rastrigin(x) % Rastrigin 函数 % x 是一个向量,表示自变量 A = 10; n = length(x); y = A * n; for i = 1:n y = y + (x(i)^2 - A * cos(2 * pi * x(i))); end end

你可以调用这个函数并传递一个 n 维向量作为输入,其中 n 是 Rastrigin 函数的维度。函数将返回 Rastrigin 函数的值。

matlab
% 设定参数 n = 2; % Rastrigin 函数的维度 % 生成一个随机的 n 维向量作为输入 x = 5 * rand(1, n); % 你可以根据自己的需求生成不同的初始向量 % 调用 Rastrigin 函数计算 result = rastrigin(x); disp(['Rastrigin 函数值为:', num2str(result)]);

在这个示例中,我们生成了一个随机的两维向量作为输入,并计算了 Rastrigin 函数的值。你可以根据需要更改向量的维度。