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 : Sélectionner tout - Visualiser dans une fenêtre à part
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;
}