三分法

一、用处

三分法使用于求单峰函数的极值。

二、流程

  1. 先将区间三分,每个区间的长度为 13(rl)\frac{1}{3} (r - l)

  2. 比较 mid1mid_1mid2mid_2 谁更接近极值,若 mid1mid_1 更接近极值,rr 改为 mid2mid_2,否则的话 ll 改为 mid1mid_1

  3. 重复上述流程,直到不满足 rl>epsr - 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;
	}