您的位置:首页 > 其它

求一个数的平方根—牛顿迭代法

2016-05-09 21:00 169 查看

首先牛顿迭代法的原理如下:

设r是f(x)=0的根,选取x0作为r初始近似值,过点(x0,f(x0))做曲线y=f(x)的切线L,L的方程为y=f(x0) f'(x0)(x-x0),求出L与x轴交点的横坐标 x1=x0-f(x0)/f'(x0),称x1为r的一次近似值,过点(x1,f(x1))做曲线y=f(x)的切线,并求该切线与x轴的横坐标 x2=x1-f(x1)/f'(x1)称x2为r的二次近似值,重复以上过程,得r的近似值序列{Xn},其中Xn +1=Xn-f(Xn)/f'(Xn),称为r的n
+1次近似值.上式称为牛顿迭代公式.
由此可得出用牛顿迭代法求一个数的平方根的更新公式:xn+1=(xn+n/xn)/2。

简单代码如下:

import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int n = sc.nextInt();
float x = 1;
while(Math.abs(x*x-n)>0.000001){
x=(x+n/x)/2;
}
System.out.println(x);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: