二次插值法迭代终止条件

如题所述

插值法

  通过已有的条件构造插值函数

  通过求插值函数的极小值点去近似已有函数的极小值点

三点二次插值

  已有三个点(p1,f(p1)),(p2,f(p2)),(p3,f(p3))

  通过拉格朗日插值法获取插值函数

  求得插值函数的倒数为0获取插值函数的极小值点(p0,f(p0))

  现在我们有四个点了,通过这种方法得到四个点后,通过试探法的迭代方法去缩小区间即可

  终止准则也同迭代法的终止准则

二点二次插值

  给定初始步长alaph和步长缩减因子

  我可以获得x的函数值和他的导数

  获取第一个点x0,f(x0), f'(x0)

  给定步长alaph,往函数下降的方法走alaph得到x1

  若f(x1) > f(x0) + f'(x0) * abs(x0 - x1) 则步长不断以alaph = 2*alaph增加直到不满足条件

  通过f(x1), f(x0), f'(x0)计算插值函数,并求得最优点u

  若f‘(u) < e 终止迭代

  否则将u作为初始点,继续迭代步长alaph = p * alaph

  

  一般来说 alaph = 2 p = 1/10

二点三次插值

  给定初始步长alaph和步长缩减因子

  我可以获得x的函数值和他的导数

  获取第一个点x0,f(x0), f'(x0)

  给定步长alaph,往函数下降的方法走alaph得到x1

计算得到f(x1), f'(x1)
若f'(x1) * f'(x0) > 0 则将x1做为x0 alaph = 2 * alaph的方式迭代直到不满足条件
通过f(x1),f'(x1), f(x0), f'(x0)计算插值函数,并求得最优点u
若f‘(u) < e 终止迭代
否则将u作为初始点,继续迭代步长alaph = p * alaph
一般来说 alaph = 2 p = 1/10
温馨提示:答案为网友推荐,仅供参考
第1个回答  2022-11-27
二次函数 的极小点为
设 。求得 和 以后,如果
≤ ,当 > 时,
或者如果
≤ ,当< 时。
则我们认为收敛准则满足。如果< ,则极小点估计为 ,否则为 。
若终止准则不满足,则利用 提供的信息,从 , , 和 中选出相邻的三个点,将原来的搜索区间缩小,然后重复上述过程,直到终止准则满足为止。
初始步 给出?,?,?,满足上述设计步骤。
步1 由上述设计步骤计算?。
步2 比较?和?的大小,如果?>?,则转步3;否则转步4。
步3 如果?≤?,则
?,?,?,?,
转步5;否则?,?,转步5。
步4 若?,则
?,?,?,?,
转步5;否则?,?,转步5。
步5 如果收敛准则满足,停止迭代;否则转步1,在新的搜索区间[?,?]上按公式计算二次插值函数的极小点?。
-2.5,-1.4,-0.3
-0.3,1.5,3.3.
插值法仅需计算函数值,不涉及导数、Hesse矩阵等的计算,计算起来相对比较简单,能够适用于非光滑和导数表达式复杂或表达式写不出等种种情形。
当迭代步数较多时,计算过程比较复杂,计算量较大,计算起来比较麻烦。当迭代点离目标函数的最优解较远时,追求线性搜索的精度反而会降低整个算法的效率。
相似回答