一、用处
三分法使用于求单峰函数的极值。
二、流程
-
先将区间三分,每个区间的长度为 31(r−l);
-
比较 mid1 和 mid2 谁更接近极值,若 mid1 更接近极值,r 改为 mid2,否则的话 l 改为 mid1;
-
重复上述流程,直到不满足 r−l>eps 为止。
三、代码
while(r - l > eps) {
mid1 = l + (r - l) / 3;
mid2 = r - (r - l) / 3;
if(cal(mid1) < cal(mid2))
l = mid1;
else
r = mid2;
}