三分法画图示意

1.三分法求单峰(或者单谷)的极值,是二分法的扩展

单峰函数单谷函数

2.求单峰函数最大值的近似值

在区间[l,r]上任取2个点,mid1和mid2,把函数分为三段
(1)若f(mid1)<f(mid2),极值点v一定在mid1的右侧。此时,mid1和mid2要么都在v的左侧,要么分别在v的两侧
下一步,令l=mid1,区间从[l,r]缩小为[mid1,r],然后再继续把它分成三段
情况1:极值点v在mid1的右侧
(2)若f(mid1)>f(mid2),极值点v一定再mid2的左侧
下一步,令r=mid2,区间从[l,r]缩小为[l,mid2]
情况2

3.如何区mid1和mid2

两种基本方法:

(1)三等分:mid1和mid2为[l,r]的三等分点。那么区间每次可以减少三分之一
(2)近似三等分:计算[l,r]中间点mid=(l+r)/2,然后让mid1和mid2非常接近mid,例如mid1=mid-eps,mid2=mid+eps,其中eps是一个很小的值,那么区间每次可以减少接近一半。

4.三分法模板

给出一个N次函数,保证在范围[l,r]内存在一点x,使得[l,x]上单递增,[x,r]上单递减,试求出x的值
输入:第一行一次包含一个正整数N和两个实数l,r,含义如题目描述所示。第二行包含N+1个实数,从高到低依次表示该N次函数各项的系数。
输出:输出为一行,包含一个实数,即为x的值,四舍五入保留5位小数。
输入样例

3 -0.9981 0.5
1 -3 -3 1

输出样例

-0.41421

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值