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 :

Calcul de séries de Fourier


Sujet :

C++

  1. #1
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Calcul de séries de Fourier
    J'ai un problème, j'ai un devoir de prog en c++ a faire pour la semaine prochaine et j'ai mi 4 jours pour faire la premiere question.

    Le devoir concerne les séries de fourier, il faut que je calcul a0, mais je n'y arrive pas. c'est juste pour l'etape du calcul.

    la prof m' a donné :

    1/T [ f(t) dt ] == 1/N (somme) f(i)

    N étant le nombre D'échantillon

    Merci d'avance!!!


    [Titre modifié par Loulou24, merci d'utiliser des titres explicites à l'avenir]

  2. #2
    Rédacteur
    Avatar de Laurent Gomila
    Profil pro
    Développeur informatique
    Inscrit en
    Avril 2003
    Messages
    10 651
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2003
    Messages : 10 651
    Points : 15 920
    Points
    15 920
    Par défaut
    Merci de respecter les règles du forum :

    1/ La prochaine fois pense à utiliser un titre clair et en rapport avec ton problème.

    2/ Nous ne sommes pas là pour faire les devoirs des étudiants. Montre nous ce que tu as déjà fait, explique nous sur quoi tu bloques, et nous nous ferons un plaisir de t'aider à résoudre tes problèmes.

  3. #3
    Rédacteur

    Avatar de Matthieu Brucher
    Profil pro
    Développeur HPC
    Inscrit en
    Juillet 2005
    Messages
    9 810
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur HPC
    Secteur : Industrie

    Informations forums :
    Inscription : Juillet 2005
    Messages : 9 810
    Points : 20 970
    Points
    20 970
    Par défaut
    Il y a une erreur dans ta formule.

  4. #4
    Membre éclairé Avatar de reggae
    Profil pro
    Inscrit en
    Août 2005
    Messages
    773
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Août 2005
    Messages : 773
    Points : 795
    Points
    795
    Par défaut
    Propose nous déjà ce que tu as fait et on t'aidera pour la suite.

  5. #5
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Je vais vous exposer plus clairement le devoir:

    J'ai 3 signaux :
    Sinusoïdal
    Carré
    Triangulaire

    d'amplitude 50.

    Une période dispose de 1000 points.
    Ce que j'ai réussi à faire c'est de mettre 1000 valeurs dans chaque tableau.
    Mais premier probleme: mes valeurs sont du style 1 2 3 4 5 6 etc... jusqu'a 999.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    float remplir_sin (float *tab_sin)
    {
       int i;
       for(i=0;i<1000;i++)
       {
       tab_sin[i]=i;
     
      }
    }
    Comment faire pour que je puisse créer un ss programme dont les valeurs puissent avoir l'air d'un signal?

    second problème:
    je dois calculer la valeur moyenne du signal, mais je n'arrive pas à créer un nouveau tableau qui puisse retenir la valeur moyenne


    voici ce que j'ai fait

    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
    float calcul_a0(float *tab)==> ligne obligatoire
     
    {
          int i;
          float total=0;
          for (i=0;i<1000;i++)
          {
              total=tab[i]+total;
     
          }
     
          total=(total)/(1000);    
              for (i=0;i<1000;i++)
              {
                  tab[i]=total;
     
              }
     
    }
    dans le programme principal l'appel de la fonction se fait ainsi

    mais comme ca il rentre les valeur dans le tableau tab_sin, et je ne veux pas car j'ai est besoin pour faire les étapes suivantes.


    [Balises CODE rajoutées par Loulou24, merci d'y penser à l'avenir]

  6. #6
    Expert éminent sénior
    Avatar de diogene
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2005
    Messages
    5 761
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2005
    Messages : 5 761
    Points : 13 926
    Points
    13 926
    Par défaut
    second problème:
    je dois calculer la valeur moyenne du signal, mais je n'arrive pas à créer un nouveau tableau qui puisse retenir la valeur moyenne
    La valeur moyenne est UNE valeur et il n'y a pas de raison de la recopier 1000 fois dans un tableau. ta fonction renvoie un float or il n'y a pas de return... On s'attend à quelque chose du genre :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    float calcul_a0(float *tab)
    { 
          int i; 
          float total=0; 
          for (i=0;i<1000;i++) 
              total=tab[i]+total; 
         return total/1000;    // ceci est la valeur moyenne
    }
    Publication : Concepts en C

    Mon avatar : Glenn Gould

    --------------------------------------------------------------------------
    Une réponse vous a été utile ? Remerciez son auteur en cliquant le pouce vert !

  7. #7
    Nouveau Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    3
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    ok!!!
    j'ai compris, pout toutes les fonctions je faisaus pareil, normal que ca marche pas !!!
    merci, je vais pouvoir avancer dans les autres questions, j'avais partout ce genre de probleme !!!

Discussions similaires

  1. Réponses: 1
    Dernier message: 20/04/2011, 21h10
  2. Séries de Fourier
    Par TiMeWaLk dans le forum MATLAB
    Réponses: 2
    Dernier message: 05/05/2009, 09h07
  3. Calculer la dérivée avec la transformée de Fourier
    Par janef dans le forum Traitement du signal
    Réponses: 4
    Dernier message: 13/10/2008, 18h18
  4. Séries de Fourier, utilisation boucle "for"
    Par Poyel dans le forum Signal
    Réponses: 2
    Dernier message: 02/01/2008, 16h28
  5. Calcul transformée de Fourier sur signal créneau
    Par StitchP dans le forum Signal
    Réponses: 5
    Dernier message: 27/06/2007, 08h24

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