class fou{
public static void main(String args[]){
double data[]=new double[101];
double inv;
double alpha[]=new double[101];
int m,n,s;
for (n=0;n<101;n++){
data[n]=5*n+16;
}
inv=Math.PI/100;
for (m=0;m<100;m++){
alpha[m]=seekalpha(m,data);
}
System.out.println(alpha[0]);
for(s=0;s<100;s++){
System.out.println(seekfou(alpha,s*inv)-5*s-16);
}
}
public static double seekalpha(int m,double[] data){
int n,nx;
double n1;
int n2,n3;
double delta,x1,x2,f1,f2,z;
delta=Math.PI/10000;
z=0;
for (n=0;n<9999;n++){
n1=n/100;
n2=(int)n1;
n3=n2+1;
x1=n*delta;
f1=data[n2]+(n1-n2)*(data[n3]-data[n2]);
n1=(n+1)/100;
n2=(int)n1;
n3=n2+1;
x2=(n+1)*delta;
f2=data[n2]+(n1-n2)*(data[n3]-data[n2]);
z=z+delta*(f1*Math.cos(m*x1)+f2*Math.cos(m*x2))/2;
}
z=2*z/Math.PI;
return z;
}
public static double seekfou(double[] alpha,double x){
double z;
int m;
z=alpha[0]/2;
for (m=1;m<100;m++){
z=z+alpha[m]*Math.cos(m*x);
}
return z;
}
}
最終更新:2010年12月31日 16:21