#include<stdio.h>
#include<math.h>
int main(void){
double h,f[10000],a[10000],b[10000],g,x;
int i,j,k,m,p;
h=(2*3.14159265358979)/10000.0;
for(i=0;i<=4999;i++){
f[i]=sin((h*i)/2.0);
}
for(i=5000;i<=9999;i++){
f[i]=-sin((h*i)/2.0);
}
for(j=0;j<=9999;j++){
a[j]=0.0;
b[j]=0.0;
for(k=0;k<=9999;k++){
a[j]=a[j]+(2.0/10000.0)*f[k]*cos(j*k*h);
b[j]=b[j]+(2.0/10000.0)*f[k]*sin(j*k*h);
}
printf("%lf %lf\n",a[j],b[j]);
}
return 0;
}
π<x<2πのときfx=-sin(x/2)
この時のフーリエ係数an,bnを求めたいのですが、厳密解と比べると、どうもbnが厳密解に近づいてくれません。
どこが間違っているか教えてもらえませんか?