0.618算法:
[a,b] 为f(x)的单峰区间,【lambda】=0.618
1. 确定初始点x1=a+(1-【lambda】)(b-a) x2=a+【lambda】(b-a)
f1=f(x1) f2=f(x2)
2.判定收敛 |b-a|<c? 是 x'=(a+b)/2为近似极小值点问题
3.缩短区间(这部分的等号为赋值)
(1)若f1<f2 则a=>a x2=>b x1=>x2 f1=>f2 转4
(2)若f1>f2 则x1=>a b=>b x2=>x1 f2=>f1 转5
(3)若f1==f2 则x1=>a x2=>b 转1
4.x1=a+(1-【lambda】)(b-a) f1=f(x1) 转2
5.x2=a+【lambda】(b-a) f2=f(x2) 转2
[a,b] 为f(x)的单峰区间,【lambda】=0.618
1. 确定初始点x1=a+(1-【lambda】)(b-a) x2=a+【lambda】(b-a)
f1=f(x1) f2=f(x2)
2.判定收敛 |b-a|<c? 是 x'=(a+b)/2为近似极小值点问题
3.缩短区间(这部分的等号为赋值)
(1)若f1<f2 则a=>a x2=>b x1=>x2 f1=>f2 转4
(2)若f1>f2 则x1=>a b=>b x2=>x1 f2=>f1 转5
(3)若f1==f2 则x1=>a x2=>b 转1
4.x1=a+(1-【lambda】)(b-a) f1=f(x1) 转2
5.x2=a+【lambda】(b-a) f2=f(x2) 转2