sogejing | Bonjour,
Bon voila, en plein écriture de mon projet informatique je suis bloqué, et pourtant je suis sur que c'est tres simple..
mon projet est "étude d'un circuit RC en régime sinusoïdal permanent".
ce que j'ai fais:
-programme qui calcul la l’impédance en fonction de la fréquence ==> j’obtiens un tableau.
-je met ce tableau en fichier.ods (ou fichier.csv, j'ai tester les 2..).
-j'obtiens donc un joli tableau, jusque la OK.
je que je voudrais c'est faire une courbe (de l’impédance en fonction de la fréquence) , une courbe toute bête donc.. MAIS CA MARCHE PAS x)
Idéalement j'aurai voulu que mon programme le fasse automatiquement, mais déjà manuellement j'y arrive pas
voila ce que j'obtiens :
(oui jai pourtant bien sélectionner les donnée de X et Y)
Quand je fait un tableau factice ça marche , mais avec mes données niet..
Mon code : Code :
- #include <stdio.h>
- #include <math.h>
- #include <stdlib.h>
- // Etude en regime sinusoidal d'un circuit RC
- int main (void)
- {
- //declaration
- //1-fonction
- void presentationf (void);
- void rentreedonneef();
- void creation_fichierf ();
- void calculf ();
- int lol;
- //variable
- double resistance;
- double capacite;
- double pulsation[1000];
- double resultat[1000];
- double dephasage[1000];
- //2-presentation du programme
- presentationf();
- //entrée des donnée
- rentreedonneef(&resistance,&capacite);
- printf("\nPour une resistance de %f et une capacite de %f : \n",resistance,capacite);
- calculf (&resistance,&capacite,resultat,pulsation,dephasage);
- creation_fichierf (resultat,pulsation,dephasage);
- return 0 ;
- }
- void presentationf (void)
- {
- printf("\n Bienvenu dans le programme \"Etude de circuit RC en regime sinusoidal permanant\"\n" );
- }
- void rentreedonneef (double *presistance,double *pcapacite)
- {
- printf("valeur de la resistance ?" );
- scanf("%lf",presistance);
- printf("valeur de la capacite ?" );
- scanf("%lf",pcapacite);
- }
- void creation_fichierf (double resultat[],double pulsation[],double dephasage[])
- {
- FILE* fichier = NULL;
- int i2 = 0;
- fichier = fopen("test.ods", "w" );
- fprintf(fichier,"pulsation(Hz);Impedance(R);dephasage(rad)\n" );
- for (i2=0;i2<90;i2++)
- {
- fprintf(fichier,"%f;%f;%f\n",pulsation[i2],resultat[i2],dephasage[i2]);
- }
- fclose(fichier);
- }
- void calculf (double *presistance, double *pcapacite, double *resultat ,double *pulsation,double *dephasage)
- {
- double W=0;
- double A=0;
- double B=0;
- double D = 0;
- double Z=0;
- double arg = 0;
- double R = *presistance;
- double C = *pcapacite*pow(10,-9);
- int i = 0;
- double resultat_f[1000];
- double pulsation_f[1000];
- double dephasage_f[1000];
- for (B=0;B<10;B++)
- {
- for (D=1;D<10;D++)
- {
- W = D*pow(10,B);
- Z = sqrt((R*R)+(1/((C*C)*(W*W))));
- arg = atan(-1/(R*C*W));
- printf("\n pour une frequence de %f l'impedance est %f",W,Z);
- printf("\n pour une frequence de %f le dephasage est de %f",W,arg);
- printf("\n\n" );
- resultat_f[i] = Z;
- pulsation_f[i] = W;
- dephasage_f[i] = arg;
- resultat[i] = resultat_f[i];
- pulsation[i] = pulsation_f[i];
- dephasage[i] = dephasage_f[i];
- i++;
- }
- }
- //Z = sqrt((R*R)+(1/((C*C)*(W*W))));
- //arg = atan(-1/(R*C*W));
- }
|
Dsl je n'arrive pas a le mettre en spoiler.
Merci de m'aider
ps: je savait pas ou poser mon problème, soyez clément Message édité par sogejing le 27-12-2014 à 18:27:34
|