ニュートン反復法を用いてn次方根を求める
ニュートン反復法ここではあまり言わないで、直接コードをつけます.
平方根を求める:
立方根を求める:
四次方根を求めます:
5回のルートを求めます:
n次方根解法を求めるのは同じで、以上から法則を見ることができて、多く言わないで...
平方根を求める:
public static double getPingFangRoot(double input){
if(input==0)
return 0;
double x0,x1;
x0=input;
x1=(1*x0/2)+(input/(x0*2));//
while(Math.abs(x1-x0)>0.000001){
x0=x1;
x1=(1*x0/2)+(input/(x0*2));
}
return x1;
}
立方根を求める:
public static double getCubeRoot(double input){
if(input==0)
return 0;
double x0,x1;
x0=input;
x1=(2*x0/3)+(input/(x0*x0*3));//
while(Math.abs(x1-x0)>0.000001){
x0=x1;
x1=(2*x0/3)+(input/(x0*x0*3));
}
return x1;
}
四次方根を求めます:
public static double getSiciRoot(double input){
if(input==0)
return 0;
double x0,x1;
x0=input;
x1=(3*x0/4)+(input/(x0*x0*x0*4));//
while(Math.abs(x1-x0)>0.000001){
x0=x1;
x1=(3*x0/4)+(input/(x0*x0*x0*4));
}
return x1;
}
5回のルートを求めます:
public static double getWuciRoot(double input){
if(input==0)
return 0;
double x0,x1;
x0=input;
x1=(4*x0/5)+(input/(x0*x0*x0*x0*5));//
while(Math.abs(x1-x0)>0.000001){
x0=x1;
x1=(4*x0/5)+(input/(x0*x0*x0*x0*5));
}
return x1;
}
n次方根解法を求めるのは同じで、以上から法則を見ることができて、多く言わないで...