アットウィキロゴ

ふぉう99

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 lx[]=new double[101];
double lxs[]=new double[101];
double alphac[]=new double[101];
double alphal[]=new double[101];
double k1;
double n1;
double inv;
int m,n,n2,n3;  
double c1,l1,w1,r1;
double ep;
double ls;
int t;
a=0.33;
beta=0.95;
ls=(1-a)/(2-a);
ks=ls*Math.pow((1 / beta - 1) / a , 1 / (a - 1));
h=2*ks/100;
for (n=1;n<101;n++){
k[n]=n*h;
lx[n]=ls;
cx[n]=Math.pow(k[n],a)*Math.pow(ls,1-a);
}



inv=Math.PI/100;

t=0;
while(t<100){

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

for (m=0;m<50;m++){
alphal[m]=seekalpha(m,lx);
}


for (n=10;n<91;n++){
c1=seekfou(alphac,n*inv);
l1=seekfou(alphal,n*inv);
k1=k[n]+Math.pow(k[n],a)*Math.pow(l1,1-a)-c1;
n1=k1/h;
c1=seekfou(alphac,n1*inv);
l1=seekfou(alphal,n1*inv);
r1=a*Math.pow(k1,a-1)*Math.pow(l1,1-a);
cxs[n]=c1/(beta*(1+r1));
w1=(1-a)*Math.pow(k1,a)*Math.pow(l1,-a);
lxs[n]=1-cx[n]/w1;
}
ep=0;
for (n=10;n<91;n++){
ep=ep+Math.pow(cx[n]-cxs[n],2)+Math.pow(lx[n]-lxs[n],2);
}
for (n=10;n<91;n++){
cx[n]=cxs[n];
lx[n]=lxs[n];
}

System.out.println(ep);
if (ep<0.0001)t=1000;  
t=t+1;
}

for (n=10;n<91;n++){
System.out.println(lx[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<50;m++){
z=z+alpha[m]*Math.cos(m*x);
}
return z;
}



}
最終更新:2010年12月31日 18:45