黄金分割法及Matlab实现
基本思想
黄金分割法也称为 0.618 法,其基本思想是通过取试探点和进行函数值比较,使包含极小点的搜索区间不断缩短以逼近极小值点。适用于确定区间上的任何单谷函数求极小值的问题。
公式推导
设有定义在 [ a , b ] [a,b] [a,b]上的单谷函数 φ ( α ) = f ( x k + α d k ) \varphi \left( \alpha \right) =f\left( x_k+\alpha d_k \right) φ(α)=f(xk+αdk)在 [ a , b ] [a,b] [a,b]上取两个试探点 x 1 x_1 x1、 x 2 x_2 x2,且 x 1 < x 2 x_1<x_2 x1<x2。计算 φ ( x 1 ) \varphi \left( x_1\right) φ(x1)、 φ ( x 2 ) \varphi \left( x_2\right) φ(x2),可能会出现以下两种情形:
- φ ( x 1 ) ⩽ φ ( x 2 ) \varphi \left( x_1\right) \leqslant \varphi \left( x_2\right) φ(x