#define _USE_MATH_DEFINES #include #include "Fourier.h" using namespace std; vector fourier(vector werte, int vz) { int N = werte.size(); vector ret; for (int n = 0; n < N; n++) { CKomplex v(0,0); for (int k = 0; k < N; k++) { double phi = (vz * -2.0 * M_PI * k * n) / (double) N; CKomplex e = werte[k] * CKomplex(phi); v = v + e; } v = v * (1 / sqrt(N)); ret.push_back(v); } return ret; } vector Fourier::hin(vector werte) { return fourier(werte, -1); } vector Fourier::zurueck(vector werte) { return fourier(werte, 1); }