transformata_fouriera.cc

/*
 * plik ma na celu prezentację podstawowych zagadnień z metod numerycznych (dla C / C++)
 *
 * prezentuje transformatę Fouriera ...
 *
 * Plik stanowi część zbióru funkcji prezentujących podstawy metod numerycznych.
 * Jako że programy te napisałem pewien czas temu nie jestem w stanie obecnie zagwarantować,
 * że działają one w pełni proprawnie. Zachęcam do zapoznania się z skryptem z metod
 * numerycznych dostępnym na stronie http://www.fuw.edu.pl/~pliszka/mn/
 *
 */

#include <complex>
#include <cmath>

void ft(complex<double> h[], complex<double> H[], int N) {
  int n,k;
  
  complex<double> w(0, 2*M_PI/N), wn;
  w = exp(w);

  for (n=0; n<N; n++) {
    wn = pow(w,n);
    H[n] = 0;
    for (k=0; k<N; k++) {
      H[n] += pow(wn,k) * h[k];
    }
  }
}


void oft(complex<double> H[], complex<double> h[], int N) { // odwrotna ...
  int n,k;
  
  complex<double> w(0, -2*M_PI/N), wn;
  w = exp(w);

  for (n=0; n<N; n++) {
    wn = pow(w,n);
    h[n] = 0;
    for (k=0; k<N; k++) {
      h[n] += pow(wn,k) * H[k];
    }
    h[n] /= N;
  }
}

XHTML generated by highlight (http://www.andre-simon.de/) from transformata_fouriera.cc



Copyright (c) 1999-2015, Robert Paciorek (http://www.opcode.eu.org/), BSD/MIT-type license


Redystrybucja wersji źródłowych i wynikowych, po lub bez dokonywania modyfikacji JEST DOZWOLONA, pod warunkiem zachowania niniejszej informacji o prawach autorskich. Autor NIE ponosi JAKIEJKOLWIEK odpowiedzialności za skutki użytkowania tego dokumentu/programu oraz za wykorzystanie zawartych tu informacji.

This text/program is free document/software. Redistribution and use in source and binary forms, with or without modification, ARE PERMITTED provided save this copyright notice. This document/program is distributed WITHOUT any warranty, use at YOUR own risk.

Valid XHTML 1.1 Dokument ten (URL: http://www.opcode.eu.org/programing/c_cpp/transformata_fouriera.cc) należy do serwisu OpCode. Autorem tej strony jest Robert Paciorek, wszelkie uwagi proszę kierować na adres e-mail serwisu: webmaster@opcode.eu.org.
Data ostatniej modyfikacji artykulu: '2014-01-07 19:27:41 (UTC)' (data ta może być zafałszowana niemerytorycznymi modyfikacjami artykułu).