当维度很高时,使用 for 循环计算 Rosenbrock 函数会非常慢。可以使用 MATLAB 的向量化技巧来避免使用循环,提高计算速度。以下是一个不使用 for 循环的 Rosenbrock 函数实现: ```matlab function f = rosenbrock(x) % Rosenbrock function % x is a vector with n elements % f is a scalar n = length(x); x1 = x(1:end-1); x2 = x(2:end); f = sum(100*(x2 - x1.^2).^2 + (1 - x1).^2); end ``` 其中,`x1` 和 `x2` 分别表示向量 `x` 的前 `n-1` 个元素和后 `n-1` 个元素。然后,可以使用向量化的方式计算 Rosenbrock 函数的值,而不需要使用循环