三分法模板

来源:互联网 发布:人工智能电影图片 编辑:程序博客网 时间:2024/06/02 03:59
double solve(double MIN,double MAX)  {      double Left, Right;      double mid, midmid;      double mid_value, midmid_value;      Left = MIN;      Right = MAX;      while (Left +eps < Right)      {          mid = (Left + Right) / 2;          midmid = (mid + Right) / 2;          mid_value = Calc(mid);          midmid_value = Calc(midmid);          ///求最大值改成>= 最小值改成<=          if (mid_value >= midmid_value) Right = midmid;          else Left = mid;      }      return Left;  }  

三分法可以求解有在区间内有单峰极值的函数,Calc是要进行三分法的函数,MIN和MAX是区间的左界和右界,也就是范围了。