Example: Fast Fourier Transform
The Fourier coefficients of a periodic sequence are computed. The coefficients are then used to reproduce the periodic sequence.
import com.imsl.math.*;
public class FFTEx1 {
public static void main(String args[]) {
double x[] = {1, 2, 3, 4, 5, 6, 7, 8};
FFT fft = new FFT(x.length);
double y[] = fft.forward(x);
double z[] = fft.backward(y);
for (int i = 0; i < x.length; i++) {
z[i] = z[i] / x.length;
}
new PrintMatrix("x").print(x);
new PrintMatrix("y").print(y);
new PrintMatrix("z").print(z);
}
}
Output
x
0
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
y
0
0 36
1 -4
2 9.657
3 -4
4 4
5 -4
6 1.657
7 -4
z
0
0 1
1 2
2 3
3 4
4 5
5 6
6 7
7 8
Link to Java source.