给定初始点xn=0.初始步长△x>0,x,=xn+Ax 下面分两种情况讨论 (1)f(x)≤f(x0) x1对应着图上用红线标出的一部分
0 x 给定初始点 0, x0 = 初始步长 x x = x + x 1 0 0, (1) ( ) ( ) 1 0 f x f x 1 x 对应着图上用红线标出的一部分 下面分两种情况讨论:
(1)f(x)≤f(x) △ 2△ 此时x取值小,我们加大步长向右搜索, 取Ax=2△x,x2=x1+Ax 若f(x)≤f(x2),则我们要找的区间即为[xn,x
0 x 此时 1 x 我们加大步长向右搜索, x = x x = x +x 2 1 2 , 若 ( ) ( ), 1 2 f x f x 0 2 x , x (1) ( ) ( ) 1 0 f x f x x 1 x 2x 2 x 取值小, 取 则我们要找的区间即为
(1)f(x)≤f(x) △ 2△ 若f(x)>f(x2),则我们取的步长偏小 Yx=x Ax=2Ax.x=x,+Ax 继续往下判断,直到满足f(x)≤f(z)
0 x (1) ( ) ( ) 1 0 f x f x x 1 x 2x 2 x 若 继续往下判断,直到满足 ( ) ( ), 1 2 f x f x 则我们取的步长偏小。 令 x = x x = x x = x +x 1 2 2 1 , 2 , ( ) ( ). 1 2 f x f x 2 x 1 x
(2)f(x)>f(x) 此时x取值大,我们缩小步长向左搜索, 取Ax=Ax/2,x2=x,x1=x,-△x 若f(x)≤f(x)则我们要找的区间即为[xn,x] 否则继续缩小区间,直到满足f(x)≤f(x
0 x 此时 1 x 我们缩小步长向左搜索, x = x x = x x = x −x 2 1 1 2 / 2, , 若 ( ) ( ), 1 0 f x f x 0 2 x , x (2) ( ) ( ) 1 0 f x f x 1 x 2 x 取值大, 取 则我们要找的区间即为 1 x 否则继续缩小区间,直到满足 ( ) ( ). 1 0 f x f x
算法3.1进退法 给定初始点x=0,初始步长△0) step1计算(x),转Step2 step2x=x+Ax,计算/(x) 若f(x)≤/(x),则转Step3酒则转Step5。 Step3 令Ax=2Ax,x2=x+Ax,计算/(2) 若fx)≤f(x)则得区间,x为初始区间,停 若f(x)>f(x)则转Step4
算法3.1 进退法 Step1 给定初始点 0, x0 = 初始步长 x( 0) 计算 ( ), 0 f x 转Step2 Step2 , 1 0 x = x + x 计算 ( ), 1 f x 若 ( ) ( ), 1 0 f x f x 则转 Step3;否则转Step5。 Step3 令 2 , , 2 1 x = x x = x +x 计算 ( ). 2 f x 若 ( ) ( ), 1 2 f x f x 则得区间 0 2 x , x 为初始区间,停; 若 ( ) ( ), 1 2 f x f x 则转 Step4