fminunc使用实例
时间: 2023-08-30 14:12:43 浏览: 111
fminunc函数是MATLAB中用于求解无约束非线性优化问题的函数。下面是fminunc函数的一个使用实例:
假设我们要求解以下无约束非线性优化问题:
minimize f(x) = (x-2)^2 + (y-3)^2
其中x和y为变量。
首先,定义目标函数和初始点:
```matlab
fun = @(x) (x(1)-2)^2 + (x(2)-3)^2;
x0 = [0, 0];
```
然后,使用fminunc函数求解最优解:
```matlab
options = optimoptions('fminunc','Display','iter','Algorithm','quasi-newton');
[x, fval, exitflag, output] = fminunc(fun, x0, options);
```
在这个例子中,我们指定了一些选项来控制fminunc函数的行为。'Display'选项用于设置输出显示的详细程度,'Algorithm'选项用于选择使用的优化算法。以上述设置为例,fminunc函数将显示每次迭代的详细信息,并使用拟牛顿法进行优化。
最后,输出结果:
```matlab
Optimization terminated:
The current x satisfies the termination criteria using OPTIONS.TolX of 1.000000e-04
and F(X) satisfies the convergence criteria using OPTIONS.TolFun of 1.000000e-04
```
在这个例子中,fminunc函数成功找到了目标函数的最小值,并返回了最优解x和目标函数的最小值fval。
这就是fminunc函数的一个使用实例。你可以根据自己的具体问题,调整目标函数和初始点,并根据需要设置不同的选项来求解最优解。
阅读全文