fminbnd
查找单变量函数在定区间上的局部最小值
语法
说明
fminbnd 是一个一维最小化求解器,用于求由以下条件指定的问题的局部最小值:
x、x1 和 x2 是有限标量,f(x) 是返回标量的函数。
如果区间 (x1,x2) 上存在多个局部最小值,则 fminbnd 仅返回一个,这并不保证它是全局最小值。有关详细信息,请参阅局部最小值与全局最小值。
示例
输入参数
输出参量
限制
要最小化的函数必须是连续的。
fminbnd只能给出局部解。当解在区间的边界上时,
fminbnd可能表现出慢收敛。
详细信息
算法
fminbnd 是一个函数文件。算法基于黄金分割搜索和抛物线插值方法。除非左端点 x1 非常靠近右端点 x2,否则 fminbnd 从不计算 fun 在端点处的值,因此只需要为 x 在区间 x1 < x < x2 中定义 fun。
如果最小值实际上出现在 x1 或 x2 处,则 fminbnd 返回区间 (x1,x2) 内部靠近最小值的点 x。在本例中,x 与最小值点的距离不超过 2*(TolX + 3*abs(x)*sqrt(eps))。有关算法的详细信息,请参阅 [1] 或 [2]。
替代功能
App
优化实时编辑器任务为 fminbnd 提供可视化界面。
参考
[1] Forsythe, G. E., M. A. Malcolm, and C. B. Moler. Computer Methods for Mathematical Computations. Englewood Cliffs, NJ: Prentice Hall, 1976.
[2] Brent, Richard. P. Algorithms for Minimization without Derivatives. Englewood Cliffs, NJ: Prentice-Hall, 1973.
扩展功能
版本历史记录
在 R2006a 之前推出

