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

MATLAB Discussion :

calcul des coeff Fourier à partir d'un tableau [Débutant]


Sujet :

MATLAB

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut calcul des coeff Fourier à partir d'un tableau
    Bonjour,

    J'ai une fonction périodique f(t), j'ai sur un tableau pour une periode (de 1secondes) les valeurs de f(t).

    [voir piece jointe]

    Je veux calculer les coefficients de Fourier mais je ne sais pas trop comment faire.

    [voir en piece jointe l'expression des coeff de Fourier]

    1°) pour le coefficients a0:
    c'est facile il suffit de faire ==> a0=1/T * trapz(temps,f)

    2°) pour les deux autres je cherche une méthode plus rapide:

    ==> Je pensais rajouter deux lignes:
    ligneA: j'ecris le resultat de cos(n.2pi/T)
    ligneB: j'ecris f*cos(n.2pi/T)

    ensuite je fais an=2/T.trapz(ligneB,t)

    ---------------------------------------------

    le probleme c'est que pour chaques coeff je dois rajouter 2lignes puis faire ensuite l'integration mais je me dit qu'il y a peut etre une methode plus rapide
    que je ne connais pas?

  2. #2
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Bonjour,

    je ne comprends pas bien ce que tu as fait, peux-tu nous montrer ton code?
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  3. #3
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    Disons que mon tableau est la matrice A. je fais une autre matrice B qui aura les valeurs des cosinus*fonction. et C qui sera les resultats des An

    je ne traite dans ce cas que les coeff An car c'est la meme chose pour les Bn
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    T=1;
    %si on s'interesse aux dix premiers harmoniques n=1:10
    for n=1:10
    B(n,:)=A(2,:)*cos(n*(2*pi)/T);
    C(n)=2/T*trapz(A(1,:),B(n,:));
    end
     
    a0=1/T*trapz(A(1,:),A(2,:))
    en faite je sais comment trouver les coefficients de fourier à partir de deux lignes (temps et valeur du signal) en faisant des boucles mais je voulais juste savoir si il existe une fonction toute prete sous matlab

    et je voulais savoir si pour la fonction trapz on peut integrer dedans une multiplication et non directement nos deux vecteurs tout prets.

  4. #4
    Modérateur

    Homme Profil pro
    Ingénieur en calculs scientifiques
    Inscrit en
    Août 2007
    Messages
    4 639
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Ingénieur en calculs scientifiques

    Informations forums :
    Inscription : Août 2007
    Messages : 4 639
    Par défaut
    Citation Envoyé par 21did21 Voir le message
    en faite je sais comment trouver les coefficients de fourier à partir de deux lignes (temps et valeur du signal) en faisant des boucles mais je voulais juste savoir si il existe une fonction toute prete sous matlab
    Si elle existe, je ne la connais pas.

    Citation Envoyé par 21did21 Voir le message
    et je voulais savoir si pour la fonction trapz on peut integrer dedans une multiplication et non directement nos deux vecteurs tout prets.
    Je ne sais pas si ça va répondre à ta question, mais tu peux par exemple faire :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for n=1:10
    C(n)=2/T*trapz(A(1,:),A(2,:)*cos(n*(2*pi)/T));
    end
    Pour une bonne utilisation des balises code c'est ici!
    Petit guide du voyageur MATLABien : Le forum La faq Les tutoriels Les sources


    La nature est un livre écrit en langage mathématique. Galilée.

  5. #5
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    Citation Envoyé par magelan Voir le message
    Si elle existe, je ne la connais pas.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    for n=1:10
    C(n)=2/T*trapz(A(1,:),A(2,:)*cos(n*(2*pi)/T));
    end
    a oui en effet


    merci beaucoup

  6. #6
    Membre éprouvé
    Profil pro
    Inscrit en
    Février 2010
    Messages
    2 051
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2010
    Messages : 2 051
    Par défaut
    je ne pense pas qu'une fonction existe pour faire se que je veux je vais donc le faire manuellement, merci quand meme pour l'aide

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Algorithme O(N) de génération des suites arithmétiques à partir d'un tableau d'entiers
    Par blackbird1 dans le forum Algorithmes et structures de données
    Réponses: 2
    Dernier message: 20/05/2015, 16h28
  2. Réponses: 2
    Dernier message: 10/03/2014, 00h45
  3. [XL-2007] calcul des moyennes journalières à partir des valeurs instantanées
    Par Jennyfer 75 dans le forum Excel
    Réponses: 10
    Dernier message: 14/01/2014, 17h40
  4. [XL-2003] Calcul des possibilités de chemins dans un tableau
    Par orke22 dans le forum Macros et VBA Excel
    Réponses: 11
    Dernier message: 11/09/2012, 17h32
  5. [Tableaux] Calcul d'une moyenne à partir d'un tableau
    Par Mordanus dans le forum Langage
    Réponses: 13
    Dernier message: 09/05/2007, 18h03

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