【专题】三分法和牛顿迭代法总结

本文总结了两种迭代方法:三分法和牛顿迭代法。三分法适用于凸性函数,是对二分法的一种扩展。牛顿迭代法是一种快速求解非线性方程数值解的方法,具有二阶收敛速度。文中通过具体的例子分析了如何应用这两种方法解决实际问题,如最小面积正方形覆盖、点到线段距离最小、影子最长长度、汽车拐弯问题等。
摘要由CSDN通过智能技术生成

下面总结两种迭代方法:三分法和牛顿迭代

1.三分法

二分法作为分治中最常见的方法,适用于单调函数,逼近求解某点的值。但当函数是凸性函数时,二分法就无法适用,这时三分法就可以大显身手。 如下凸函数:

迭代逼近.jpg

类似二分的定义left和right

mid1 = (left + right) / 2
mid2 = (mid2 + right) / 2
如果mid1靠近极值点, left = mid1
如果mid2靠近极值点, right = mid2

三分的原理就是每次搜索去掉2/3

程序模版如下:


double Calc(Type a)
{
    /* 根据题目的意思计算 */
}
void Solve(void)
{
    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_area = Calc(mid);
        midmid_area = Calc(midmid);
        // 假设求解最大极值.
        if (mid_area >= midmid_area) Right= midmid;
        else Left = mid;
    }
}

2.牛顿迭代

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值