前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >牛顿迭代法求开方

牛顿迭代法求开方

作者头像
王小明_HIT
发布2020-03-11 12:50:53
1.1K0
发布2020-03-11 12:50:53
举报
文章被收录于专栏:程序员奇点程序员奇点

大学课程中有一门数值分析的课程,里面有牛顿迭代法的介绍。

这里说下牛顿迭代法的一种应用,就是求一个数的开方。

产生背景:

多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数

的泰勒级数的前面几项来寻找方程

的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程

的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。另外该方法广泛用于计算机编程中。

高等数学原理:

举个例子:

这样可以使用牛顿迭代法进行求解

原理如下:

实现待代码如下:

public class Sqrt {
    public static void main(String[] args) {
        double number = 78.0;
        double root = sqrt(number);
        System.out.println(root);
    }

    public static double sqrt(double number) {
        if (number < 0) {
            return Double.NaN;
        } else {
            double zero = 1e-6;
            double root = number;
            while (Math.abs(number - root * root) > zero) {
                root = (root + number / root) / 2.0;
            }
            return root;
        }
    }

}
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2020-02-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 程序员奇点 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档