0
点赞
收藏
分享

微信扫一扫

牛顿迭代法求开方

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

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

产生背景:

多数方程不存在求根公式,因此求精确根非常困难,甚至不可能,从而寻找方程的近似根就显得特别重要。方法使用函数牛顿迭代法求开方_牛顿迭代法的泰勒级数的前面几项来寻找方程牛顿迭代法求开方_计算机编程_02的根。牛顿迭代法是求方程根的重要方法之一,其最大优点是在方程牛顿迭代法求开方_计算机编程_02的单根附近具有平方收敛,而且该法还可以用来求方程的重根、复根,此时线性收敛,但是可通过一些方法变成超线性收敛。另外该方法广泛用于计算机编程中。


高等数学原理:

牛顿迭代法求开方_计算机编程_04

举个例子:

牛顿迭代法求开方_数值分析_05牛顿迭代法求开方_数值分析_06

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


原理如下:

牛顿迭代法求开方_数值分析_07


实现待代码如下:


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;
}
}

}



如果想了解更多,关注【程序员开发者社区】


牛顿迭代法求开方_牛顿迭代法_08


举报

相关推荐

0 条评论