アットウィキロゴ

ふぉうp

class fou{
public static void main(String args[]){
int s1,s2,sx,m,n;
int pulse[][]=new int[101][101];
double a[][]=new double[101][101];
double b[][]=new double[101][101];
double alpha1[][]=new double[101][101];
double beta1[][]=new double[101][101];
double alpha2[][]=new double[101][101];
double beta2[][]=new double[101][101];
double h;
double z;
double x;

for (s1=0;s1<101;s1++){
for (s2=0;s2<101;s2++){
pulse[s1][s2]=0;
if (Math.random()>0.5)pulse[s1][s2]=1;
}
}

h=Math.PI/100;
for (s2=0;s2<101;s2++){
for (n=1;n<101;n++){
z=0;
for (s1=-100;s1<101;s1++){
x=s1*h;
sx=s1;
if (sx<0)sx=-sx;
z=z+pulse[sx][s2]*Math.cos(n*x)*h;
}
a[s2][n]=z/Math.PI;
}

for (n=1;n<101;n++){
z=0;
for (s1=-100;s1<101;s1++){
x=s1*h;
sx=s1;
if (sx<0)sx=-sx;
z=z+pulse[sx][s2]*Math.sin(n*x)*h;
}
b[s2][n]=z/Math.PI;
}

z=0;
for (s1=-100;s1<101;s1++){
x=s1*h;
sx=s1;
if (sx<0)sx=-sx;
z=z+pulse[sx][s2]*h;
}

a[s2][0]=0.5*z/Math.PI;
b[s2][0]=0;
}

for (m=1;m<101;m++){
for (n=1;n<101;n++){
z=0;
for (s2=-100;s2<101;s2++){
x=s2*h;
sx=s2;
if (sx<0)sx=-sx;
z=z+a[sx][n]*Math.cos(m*x)*h;
}
alpha1[m][n]=z/Math.PI;
}
}

for (m=1;m<101;m++){
for (n=1;n<101;n++){
z=0;
for (s2=-100;s2<101;s2++){
x=s2*h;
sx=s2;
if (sx<0)sx=-sx;
z=z+a[sx][n]*Math.sin(m*x)*h;
}
beta1[m][n]=z/Math.PI;
}
}

for (n=1;n<101;n++){
z=0;
for (s2=-100;s2<101;s2++){
x=s2*h;
sx=s2;
if (sx<0)sx=-sx;
z=z+a[sx][n]*h;
}
alpha1[0][n]=0.5*z/Math.PI;
beta1[0][n]=0;
}



for (m=1;m<101;m++){
for (n=1;n<101;n++){
z=0;
for (s2=-100;s2<101;s2++){
x=s2*h;
sx=s2;
if (sx<0)sx=-sx;
z=z+b[sx][n]*Math.cos(m*x)*h;
}
alpha2[m][n]=z/Math.PI;
}
}

for (m=1;m<101;m++){
for (n=1;n<101;n++){
z=0;
for (s2=-100;s2<101;s2++){
x=s2*h;
sx=s2;
if (sx<0)sx=-sx;
z=z+b[sx][n]*Math.sin(m*x)*h;
}
beta2[m][n]=z/Math.PI;
}
}

for (n=1;n<101;n++){
z=0;
for (s2=-100;s2<101;s2++){
x=s2*h;
sx=s2;
if (sx<0)sx=-sx;
z=z+b[sx][n]*h;
}
alpha2[0][n]=0.5*z/Math.PI;
beta2[0][n]=0;
}

n=50;

for (s2=-100;s2<101;s2++){
x=s2*h;
sx=s2;
if (sx<0)sx=-sx;
z=alpha1[0][n];
for (m=1;m<101;m++){
z=z+alpha1[m][n]*Math.cos(m*x)+beta1[m][n]*Math.sin(m*x);
}
System.out.print(a[sx][n]);
System.out.print(",");
System.out.println(z);
}















}
}
最終更新:2010年09月28日 00:02