IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

 C Discussion :

code C qui permet de calculer le déphasage entre une tension et un courant sinusoidaux


Sujet :

C

  1. #1
    Candidat au Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Avril 2017
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 30
    Localisation : Tunisie

    Informations professionnelles :
    Activité : Étudiant
    Secteur : Enseignement

    Informations forums :
    Inscription : Avril 2017
    Messages : 3
    Points : 4
    Points
    4
    Par défaut code C qui permet de calculer le déphasage entre une tension et un courant sinusoidaux
    Bonjour,
    je dois faire un programme en c qui permet de calculer le déphasage entre la tension et le courant en régime sinusoïdale, j'ai essayé d’implémenter le code suivant mais il me donne comme résultat 0, je ne sais pas où est le problème!
    merci
    NB x1 c'est la tension,x2 courant,et y1 est le déphasage.

    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
    float t1=0.,t2=0.;
    	double n,Tperiod,pi=3.14;
     
    	Tperiod=1./50.;
     
    if (n==Tperiod)
    {
    	n++;
    	if (x1 ==0.)
    	{
    		t1==t;
    	}
    	if (x2 ==0.)
    	{
    		t2==t;
    	}
    }
    	y1 =2.*pi*(1./Tperiod)*(t1-t2) ;

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 808
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 3 808
    Points : 7 086
    Points
    7 086
    Par défaut
    Mais que vaut t, n ? Calcul de déphasage entre tension et courant, mais à partir de quoi ? Il manque beaucoup d'informations !
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement matériel électronique
    Inscrit en
    Juin 2012
    Messages
    257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement matériel électronique
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2012
    Messages : 257
    Points : 321
    Points
    321
    Par défaut
    Bonjour,

    J'imagine que x1 et x2 sont des variables échantillonnées et que les tests (lignes 9 et 13) sont dans une boucle ?
    Mais ces tests ont peu de chances d'être vrai, il faudrait faire un test sur un minimum de valeur absolue du signal.

  4. #4
    Modérateur

    Avatar de Vincent PETIT
    Homme Profil pro
    Consultant en Systèmes Embarqués
    Inscrit en
    Avril 2002
    Messages
    3 187
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Pas de Calais (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Consultant en Systèmes Embarqués
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Avril 2002
    Messages : 3 187
    Points : 11 568
    Points
    11 568
    Par défaut
    Salut,
    C'est vrai qu'on doit quand même imaginer beaucoup de choses....

    Comme nanosoft, je pense que x1 et x2 sont des valeurs échantillonnées.

    Les tests sont des détections de passage par 0.

    Donc t1 correspond au moment où le signal x1 est passé par 0 et t2 au moment où le signal x2 est passé par 0.

    Exemple de cas particuliers.
    Si t1 - t2 = 0, les signaux sont en phases.
    Si t1 - t2 = π, les signaux sont en oppositions de phases (180°),
    Si t1 - t2 = π/2, les signaux sont en quadratures (90°)

    @khouu,
    t1==t; je t'invite a regarder de près cette erreur !
    La science ne nous apprend rien : c'est l'expérience qui nous apprend quelque chose.
    Richard Feynman

  5. #5
    Expert éminent sénior
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 684
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Février 2006
    Messages : 12 684
    Points : 30 973
    Points
    30 973
    Billets dans le blog
    1
    Par défaut
    Bonjour

    Il est souvent peu recommandé de comparer deux flottants en égalité stricte. Parce que les erreurs d'arrondi font que justement le flottant, même s'il doit valoir la valeur ciblée, peut ne la valoir pas tout à fait. Exemple if (1.0/3*3 == 1.0). Mathématiquement c'est vrai mais en C ça risque de ne pas l'être.
    Il vaut donc mieux passer par un test si la différence entre la valeur à examiner et la valeur ciblée est inférieure à un epsilon. Exemple if ((1.0/3*3-1.0) < 1e-10).

    Et sinon ça fait très pro d'écrire float t1=0.,t2=0.; sans mettre de décimale après le point mais bon, c'est pas la mort que d'écrire float t1=0.0,t2=0.0; et ça devient de suite plus lisible.
    Et en fait non, ça ne fait absolument pas pro car il existe un truc nommé "cast implicite" et donc écrire float t1=0,t2=0; fonctionne aussi et là on fait vraiment figure de pro qui ne met pas de point décimal sans avoir de décimale à écrire...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/08/2014, 22h36
  2. Réponses: 0
    Dernier message: 15/11/2009, 22h00
  3. Réponses: 2
    Dernier message: 16/07/2007, 08h39
  4. Réponses: 1
    Dernier message: 03/07/2007, 09h43
  5. la commande qui permet d'afficher la description d'une table
    Par dor_boucle dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 14/12/2005, 12h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo