アットウィキロゴ

ふぉぷい9

class fou{
public static void main(String args[]){
double a,beta,h;  
double ks;
double k[]=new double[101];
double cx[]=new double[101];
double cxs[]=new double[101];
double alpha[]=new double[101];
double k1;
double n1;
int m,n,n2,n3;  
double c1,r1;
double ep;
double inv;
int t;
inv=Math.PI/100;
a=0.33;
beta=0.95;
ks=Math.pow((1 / beta - 1) / a , 1 / (a - 1));
h=2*ks/100;
for (n=1;n<101;n++){
k[n]=n*h;
cx[n]=Math.pow(k[n],a);
}
t=0;
while(t<100){

for (m=0;m<100;m++){
alpha[m]=seekalpha(m,cx);
}

for (n=10;n<91;n++){
k1=k[n]+Math.pow(k[n],a)-seekfou(alpha,n*inv);
n1=k1/h;
c1=seekfou(alpha,n1*inv);
r1=a*Math.pow(k1,a-1);
cxs[n]=c1/(beta*(1+r1));
}
ep=0;
for (n=10;n<91;n++){
ep=ep+Math.pow(cx[n]-cxs[n],2);
}
for (n=10;n<91;n++){
cx[n]=cxs[n];
}
if (ep<0.0001)t=1000;
System.out.println(ep);
t=t+1;
}

for (n=10;n<91;n++){
System.out.println(cx[n]);
}
}
public static double seekalpha(int m,double[] data){
int n,nx,n1,n2;
double delta,x1,x2,y1,y2,z;
delta=Math.PI/10000;
z=0;
for (nx=-9999;nx<10000;nx++){
n=nx;
if (n<0)n=-n;
x1=nx*delta;
n1=(int)(n/100);
y1=data[n1]*Math.cos(m*x1);
z=z+delta*y1;
}
z=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月30日 18:34