fminbnd
查找单变量函数在定区间上的最小值
语法
说明
fminbnd
是一个一维最小值,用于求由以下条件指定的问题的最小值:
x、x1 和 x2 是有限标量,f(x) 是返回标量的函数。
示例
输入参数
输出参量
局限性
要计算最小值的函数必须是连续的。
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 之前推出