matlab无约束优化问题
时间: 2023-11-03 08:01:40 浏览: 94
对于无约束优化问题,Matlab提供了许多内置函数和数值优化工具箱来解决。其中最常用的是fminunc函数,它使用了拟牛顿法(BFGS法)来寻找无约束优化问题的最小值。
要使用fminunc函数,首先需要定义一个目标函数,然后使用该函数进行优化。下面是一个示例:
```matlab
% 定义目标函数
fun = @(x) 100*(x(2) - x(1)^2)^2 + (1 - x(1))^2;
% 设置初始点
x0 = [-1; 1];
% 运行无约束优化
[x, fval] = fminunc(fun, x0);
```
在上面的示例中,目标函数是Rosenbrock函数。我们设置了初始点`x0`为`[-1; 1]`,然后调用`fminunc`函数进行优化。最后,得到的最优解存储在`x`中,最小值存储在`fval`中。
阅读全文