📄 ch6_1.java
字号:
class ch6_1{
public static double Function1(double x){
return Math.pow((1+Math.pow(x,2)),-1);
}
public static double Function2(double x){
return (Math.sin(x))/x;
}
public static void EX1(double a,double b){
double l=b-a;
double T[]=new double[32];
double S[]=new double[32];
double C[]=new double[32];
for(int i=0;i<16;i++){
T[i]=0;S[i]=0;C[i]=0;
}
double sum=0;
int j=1;
do{
for(int k=0;k<(int)(Math.pow(2,j-1));k++){
sum=sum+l/Math.pow(2,j)*Function1(l/Math.pow(2,j)*(2*k+1));
}
T[j]=T[j-1]/2+sum;
S[j]=(4*T[j]-T[j-1])/3;
if(j>=2) C[j]=(16*S[j]-S[j-1])/15;
j++;
sum=0;
}while(((Math.abs(C[j-1]-C[j-2])>0.0000005)&(j>2))||(j<=2));
System.out.println("C["+(j-1)+"]="+C[j-1]);
}
public static void EX2(double a,double b){
double l=b-a;
double T[]=new double[32];
double S[]=new double[32];
double C[]=new double[32];
for(int i=0;i<16;i++){
T[i]=0;S[i]=0;C[i]=0;
}
double sum=0;
int j=1;
do{
for(int k=0;k<(int)(Math.pow(2,j-1));k++){
sum=sum+l/Math.pow(2,j)*Function2(l/Math.pow(2,j)*(2*k+1));
}
T[j]=T[j-1]/2+sum;
S[j]=(4*T[j]-T[j-1])/3;
if(j>=2) C[j]=(16*S[j]-S[j-1])/15;
j++;
sum=0;
}while(((Math.abs(C[j-1]-C[j-2])>0.0000005)&(j>2))||(j<=2));
System.out.println("C["+(j-1)+"]="+C[j-1]);
}
public static void main(String[]args){
System.out.println("求例1:");
EX1(0,1);
System.out.println("*********");
System.out.println("求例2:");
EX2(0,1);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -