MATLAB 数值求解函数参考

MATLAB fminbnd 在给定闭区间上求一元函数的最小值点。适用于单变量、必须给出区间的情形。

语法

x = fminbnd(fun, x1, x2)
[x, fval] = fminbnd(fun, x1, x2)

输入参数

参数说明
fun函数句柄,接受标量,返回标量
x1, x2区间两端,须满足 x1 < x2

输出

第一个输出是最小值点,第二个输出是该处的函数值。找到的是区间上的一个局部最小,不一定是全局最小。

示例

[xmin, fmin] = fminbnd(@(x) cos(x), 0, 3)
xmin = 3.1416
fmin = -1.0000

二次函数在 [0, 5] 上的最小点:

[x, f] = fminbnd(@(x) (x - 2).^2, 0, 5)
x = 2
f = 0

注意事项

  • 只处理单变量且必须给出区间。无约束或多变量问题使用 fminsearch。
  • 目标函数应对标量 x 返回标量;若写成向量运算,须保证对单个 x 仍有定义。