欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

牛顿法求平方根java实现

程序员文章站 2024-02-27 19:52:21
...

牛顿法是一种将非线性方程线性化,用线性方程的解逼近非线性方程的解的求解方法。

牛顿法求平方根java实现

选取一个接近零点的x0,计算f(x0)和切线斜率f’(x0),切线方程为y=f(x0)+f’(x0)(x-x0),将切线与x轴交点的横坐标记为x1,x1比x0更接近方程的解,利用x1开始下一轮迭代,可得迭代公式:
牛顿法求平方根java实现

具体到求n的平方根,那么f(x)=x^2-n,f’(x)=2x,迭代公式为:
牛顿法求平方根java实现

具体代码:

/**
     * 牛顿法求n的平方根
     * @param n
     * @return
     */
    public static double getResult(int n){
        double result=1.0;
        double temp=result-(result*result-n)/(2*result);

        while(Math.abs(result-temp)>0.0000001){
            result=temp;
            temp=result-(result*result-n)/(2*result);
        }
        return result;
    }