牛顿迭代法可以求解n次方的根,但这里只讨论用它来求平方根。
牛顿迭代法求平方根过程
Java代码实现
/*** 求一个数的平方根* @param number* @return*/public static double squareRoot(double number){if(number < 0){ //小于0的数无法开平方return Double.NaN;}else {double err = 1e-15; //设置误差范围,当误差小于这个值时认为得到准确值double root = number; //给平方根一个预设值while (Math.abs(number - root * root) > err){root = (number/root + root) / 2.0;}return root;}}
参考文档
如何通俗易懂地讲解牛顿迭代法?
求牛顿开方法的算法及其原理