problème fonction fprintf
Bonsoir Bonsoir,
Pour faire court je travaille sur un programme permettant de calculer un déphasage entre 2 signaux. Pour le moment le programme génère des centaines de signaux, je dois maintenant entrer une formule afin de calculer le déphasage, cependant cette formule étant compliqué à employer en C j'ai pensé la faire sur Excel, pour cela je dois copier les résultats de mes boucles dans un fichier excel, on m'a parlé d'une fonction fprintf permettant de copier les résultats vers un fichier mais je n'y arrive pas. Pourriez vous m'aider ?
Merci d 'avance.
Voici l 'esquisse :
Code:
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
| #include <stdio.h>
#include <stdlib.h>
#include <time.h>
#include <math.h>
#define As 0.54819 // On définit la constante As
#define ws (2*3.14)/128.0 // On définit la constante ws
#define u 0.01 // On définit la constante u
float random() // Fonction qui va générer le bruit
{
float j,i;
srand(time(NULL)); // initialisation de random par rapport à l'horloge
//afin de toujours obtenir des valeurs différentes
j=((rand()%1001)/(float)1000); // Calcul d'un nbr compris entre 0 et 1
printf("%f \n",j);
return j;
}
int main ()
{
float sk, sd, irandom, x1, x2, Ts,D;
int k;
printf(" Saisir la periode du signal sk en seconde \n");
scanf("%f",&Ts); // Période du signal
irandom = random();
for(k=201; k<=400; k++) // Phase 3: On génère la boucle avec un balayage de 201 a 400
{
D=10*Ts*((400-(k-1))/200.0);
sk = As*sin(ws*k)+As*(1/sqrt(3))*sin(2*ws*k)+As*(1/sqrt(2))*sin(3*ws*k); // Formule du signal
sd= As*sin(ws*(k-D))+As*(1/sqrt(3))*sin(2*ws*(k-D))+As*(1/sqrt(2))*sin(3*ws*(k-D)); // Formule du signal decalé
x1 = irandom + sk; // On ajoute le bruit au signal
x2 = irandom + sd; // On ajoute le bruit au signal decalé
printf("Pour n = %d sk%d= %f sd%d = %f \n",k,k,x1,k,x2);
}
for(k=401; k<=500; k++) // Phase 4: On génère la boucle avec un balayage de 401 a 500
{
D = 0;
sk = As*sin(ws*k)+As*(1/sqrt(3))*sin(2*ws*k)+As*(1/sqrt(2))*sin(3*ws*k);
// Formule du signal
sd= As*sin(ws*(k-D))+As*(1/sqrt(3))*sin(2*ws*(k-D))+As(1/sqrt(2))*sin(3*ws*(k-D));
// Formule du signal decalé
x1 = irandom + sk; //On ajoute le bruit au signal
x2 = irandom + sd;
// On ajoute le bruit au signal decalé
printf("Pour n = %d sk%d= %f sd%d = %f \n",k,k,x1,k,x2);
}
system("pause");
return 0;
} |