/* ATK IV - Numerical Programming (2006) */ /* Excercise 12.1 - Fast Fourier Transformation */ #include<stdio.h> #include<math.h> #define NRANSI #include<nr.h> #include<nrutil.h> #define N 4 #define Pi 3.141592654 float f(float x){return 1.0 + 2.0*sin(x) + 3.0*cos(2.0*x);} int main(void){ float data[2*N+1]; float x0=0.0; float x1=2*Pi; float delta; int i; delta = (x1-x0)/(1.0*N); for(i=1;i<=N;i++){ data[2*i-1] = f(x0 + 1.0*(i-1)*delta); data[2*i] = 0.0; } four1(data,N,1); for(i=1;i<=N;i++){ printf("%f %f\n",data[2*i-1],data[2*i]); } return 0; }