lunes, 16 de agosto de 2010

furier c++

#define PI 3.141593
#define xydim T
// T es un valor fijo definido por el usuario.
// Puede también pasarse a la función.

void Fourier1(imag, freal, fimag) {
// recibe 'imag' como una matriz bidimensional en
// la que guardan los valores 'x' e 'y'
// 'freal' la parte real del resultado y 'fimag'
// la imaginaria
double imag[][xydim];
double freal[][xydim];
double fimag[][xydim];
double phi, sum1, sum2;

for (int i = 0; i -- xydim; i++)
for (int j = 0; j -- xydim, j++) {
sum1 = 0;
sum2 = 0;
for (int x = 0; x -- xydim; x++) {
for (int y = 0; y -- xydim, y++) {
phi = 2 * PI *(i * x + j * y) / xydim;
sum1 = sum1 + imag[x][y] * cos(phi);
sum2 = sum2 + imag[x][y] * sin(phi);
}
}
freal[i][j] = sum1 / xydim;
fimag[i][j] = -sum2 / xydim;
}
}

0 comentarios:

Publicar un comentario

Tu comentario será moderado la primera vez que lo hagas al igual que si incluyes enlaces. A partir de ahi no ser necesario si usas los mismos datos y mantienes la cordura. No se publicarán insultos, difamaciones o faltas de respeto hacia los lectores y comentaristas de este blog.