要求其满足以下两个条件: k k k k k 2.每次迭代区间长度缩短比率相同,即 b+-ak+1=a(b4-ak)(a>0) 由式(1)与(2)可得: 2+ k (1-a)(b4-ak) +a(
bk − k = k − ak 1. 2. 每次迭代区间长度缩短比率相同,即 ( ) ( 0) bk+1 − ak+1 = bk − ak (1) (2) 由式(1)与(2)可得: = + − = + − − ( ) (1 )( ) k k k k k k k k a b a a b a (3) (4) 要求其满足以下两个条件: k a k b k uk
a取值的确定? 通过确定a的取值,使上一次迭代剩余的迭代点恰与下一次 迭代的一个迭代点重合,从而减少算法的计算量。 (1)设在第k次迭代时有f(A)≤f(u),则有 k+190k+1 在第k+1次迭代时选取41,k41,则由(4有 uk=ak++abk+-akD a ta 如果令a2=1-a,则uk+1=x,因此uk+不必重新计算 5-1 c2=1-a→a ≈0.618 2 (2)若在第k次迭代时有∫(λ1)>∫(u)。同理可得
取值的确定? 通过确定 的取值,使上一次迭代剩余的迭代点恰与下一次 迭代的一个迭代点重合,从而减少算法的计算量。 (1) ( ) ( ) , k uk 设在第k 次迭代时有 f f 则有 [ak+1 ,bk+1 ] = [ak ,uk ]。 1 , , 在第 k + 次迭代时选取 k+1 uk+1 则由(4)有 ( ) uk+1 = ak+1 + bk+1 − ak+1 ( ) 2 = ak + bk − ak 如果令 2 = 1−,则uk+1 = k ,因此 uk+1 不必重新计算。 0.618 2 5 1 1 2 − = − = (2) 若在第 k 次迭代时有 f ( k ) f (uk )。 同理可得
算法步骤 1.给定初始区间{a1,b1,精度要求E>0. 令1=a1+0.382(b-a1),=a1+0.618(b1-a1), 并计算f(4)与f(A1).令k 2.若b1-a<,停止,且x=十“,否则 2 当∫(Aλ3)>f()时,转3;当∫()≤∫()时,转4. 令a1=,b=b, Ak+=ak++0.618(bk*1-ak+1),计算∫(1),令k:=k+1,转2。 k g k+1 k+1 x1=ak++0.382(b+-ak+),计算∫(λ+),令k:=k+1,转2
算法步骤: 1. [ , ], 0. 给定初始区间 a1 b1 精度要求 令 k := 1. 0.382 ( ), 令 1 = a1 + b1 − a1 0.618 ( ), 1 = a1 + b1 − a1 ( ) ( ). 1 1 并计算 f 与 f 2. − , 若 bk ak 停止, . 2 bk ak x + 且 = 否则, 当 f (k ) f ( k )时,转 3;当 ( ) ( )时,转 4. k k f f 3. , 令 ak+1 = k , bk+1 = bk , k+1 = k 0.618( ), k+1 = ak+1 + bk+1 − ak+1 ( ), k+1 计算 f 转 2。 4. , 令 ak+1 = ak , bk+1 = k , k+1 = k 0.382( ), k+1 = ak+1 + bk+1 − ak+1 ( ), k+1 计算 f 令 k := k + 1, 令 k := k + 1, 转 2