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

R Discussion :

Produit de convolution dans R


Sujet :

R

  1. #1
    Futur Membre du Club
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juin 2012
    Messages
    6
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Enseignement

    Informations forums :
    Inscription : Juin 2012
    Messages : 6
    Points : 6
    Points
    6
    Par défaut Produit de convolution dans R
    Bonjour à tous,

    Ma question risque de vous paraître un peu triviale et je m'excuse d'avance si elle a déjà été posée.

    Je voudrais simplement savoir comment faire le produit de convolution de deux fonctions dans le programme R. J'ai essayé plein de choses, mais je n'ai rien de concluant, et je galère pas mal avec la fonction 'convolve'.

    Mon idée (qui ne marche pas en l'état) était la suivante: si [a,b] est la réunion (ensemble fini) des domaines de mes deux fonctions f et g.
    x = seq(from=a,to=b,length=2*n+1) #2*n est le nombre d'intervalles de longueur (b-a)/(2*n) entre a et b

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    #je vais approcher mon produit de convolution par une somme de Riemann
    y1=f(x[-1])
    y2=g(x[-1])
    P = convolve(y1,y2,type='open')[1: (2*n)]*(b-a)/(2*n)
    Si vous avez une réponse à mon problème (ou à mon idée), merci d'avance!

    Cordialement
    Lhaneslo

  2. #2
    Membre averti
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Juillet 2009
    Messages
    122
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Enseignant Chercheur

    Informations forums :
    Inscription : Juillet 2009
    Messages : 122
    Points : 306
    Points
    306
    Par défaut
    Bonjour,

    une solution simple consisterait à revenir à la définition du produit de convolution et d'utiliser la fonction integrate pour calculer l'intégrale. Par exemple, voici comment calculer (f*g)(x) sur le domaine [a,b],

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    integrate(function(t) { f(x-t)*g(t) }, a, b)

Discussions similaires

  1. [Entité-Association] Representation de produits et categories dans une base de donnees
    Par 0coco0 dans le forum Schéma
    Réponses: 5
    Dernier message: 08/10/2009, 14h18
  2. Produit de convolution
    Par top111 dans le forum MATLAB
    Réponses: 9
    Dernier message: 19/06/2008, 14h48
  3. fft en 3 dimension pour un produit de convolution
    Par mattthieu dans le forum Calcul scientifique
    Réponses: 9
    Dernier message: 09/06/2008, 11h38
  4. [MCD] traitement de produits chimiques contenu dans des cuves
    Par etiennegaloup dans le forum Schéma
    Réponses: 27
    Dernier message: 08/08/2006, 11h04
  5. produit de convolution en C
    Par nickoko dans le forum C
    Réponses: 8
    Dernier message: 21/06/2006, 16h10

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