1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72
| #include <stdio.h>
#include <stdlib.h>
void main()
{
int i,j;
int nx=4,ny=4;
double real[16],imag[16];
double cc[4][4];
FILE *p1;
FILE *fichier1,*fichier2;
double mm[16],kk[16];
fichier1 = fopen("mat.dat","w");
fichier2 = fopen("FFT.dat","w");
p1=fopen("donnee1e.dat","r");//lire depuis le fichier
i=0;
while(!feof(p1) && (i<16) ){
fscanf(p1,"%lf\n",&mm[i]);
i++;}
fclose(p1);
for(j=0; j<i; j++)
kk[j]=(double)mm[j];
//le passage d'un vecteur au tableau
for(i=0;i<nx;i++)
for(j=0;j<ny;j++)
cc[k][j]= mm[k*16+j];
for(i=0; i<nx; i++)
for(j=0; j<ny; j++){
fprintf(fichier1,"%lf ",cc[i][j]);}
fprintf(fichier1,"\n");
//appliquer la fonction sur le tableau cc
for (j=0;j<ny;j++) {
for (i=0;i<nx;i++) {
real[i] = cc[i][j];
imag[i] = 0;
}
fft(real,imag,4,-1);
for (i=0;i<nx;i++) {
cc[i][j]= real[i];
cc[i][j]= imag[i];
}
}
for (i=0;i<nx;i++) {
for (j=0;j<ny;j++) {
real[j] = cc[i][j];
imag[j] = cc[i][j];
}
fft(real,imag,4,-1);
for (j=0;j<ny;j++) {
cc[i][j] = real[j];
cc[i][j] = imag[j];
}
}
for(i=0; i<nx; i++)
for(j=0; j<ny; j++)
fprintf(fichier2,"%l\n",cc[i][j]);
fclose(fichier1);
fclose(fichier2);
fclose(p1);
} |
Partager