牛顿法求平方根

Posted dongerlei

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了牛顿法求平方根相关的知识,希望对你有一定的参考价值。

求平方根的方法有很多种,这里介绍的是牛顿法求平方根。

方法是这样的:如果对x的平方根的值有了一个猜测y,那么就可以通过执行一个简单操作去得到一个更好的猜测:只需求出y和x/y的平均值(他更接近实际的平方根值)

代码实现:

float sqrt(float x)
{
    float guess = x;
    while (guess * guess - x > 0.0001)
    {
        guess = (guess + x / guess) / 2;
    }

    return guess;
}

注:这一平方根算法实际上是牛顿法的一个特例,牛顿法是一种寻找方程的根的通用技术。

以上是关于牛顿法求平方根的主要内容,如果未能解决你的问题,请参考以下文章

加速牛顿法求第 n 个根

二分查找法和牛顿法求根号的实现

牛顿法求极值

python牛顿法求多项式的根

R中的牛顿法

优化器--牛顿法总结