图2(d)
(4)判断迭代终止条件
在一般情况下,因
和
是前一次插值函数的极小值点,
,或
是本次插值函数的极小值点,若和
两者原函数值已很接
,
的距离足够小时,即满足
,则停止迭代,这时,若
近,即满足,输出极小值点
极小值;否则,即时,输出极小值点,极小值。
如不满足上述迭代终止条件,则返回步骤(3),再次缩短搜索区间,直至最后满足终止条件。 按上述步骤设计的二次插值法算法框图见图3。
图3
算法框图中有几点需作些说明。
1.判别框?若成立,按式(9)和式(10)则有
说明三个插值结点、、在一条直线上;
2.判别框?若不成立,说明落在区间之外。
上述两种情况只是在区间已缩得很小,由于三个插值结点已十分接近,计算机的舍入误差才可能使其发生。此时取
和
作为最优解应是合理的。
3.在初始搜索区间第一次插值或函数极小点,因而判别式
步骤(3)缩短搜索区间,直至初始点
仍为初始给定点时,和并不代表前后二次插值
并不能确切地反映该不该终止迭代,这时应进行第一次由
代替,使用判别式
?第一次
进行终止判别才具意义。为此,算法框图中设置开关K=0和K=1分别表示初始点由
代替前和后的状态。