Bonsoir,

Je souhaite faire le produit de convolution de deux fonctions, pour cela, j'ai utilisé le module numpy et son outil convolve.
J'ai testé sur la fonction porte en faisant la convolution de cette fonction par elle-même, mais je n'obtient pas le résultat escompté.

Voici le code:
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
 
import numpy as np
import matplotlib.pyplot as plt
 
def porte(t):
      a=[]
      for i in t:
           if -0.5<=i<=0.5:
               a.append(1.)
           else:
               a.append(0)
       return a
 
t=np.linspace(-1,1,1000)
c=np.convolve(porte(t),porte(t))
plt.plot(np.linspace(-1,1,len(c)),c)
Le graphe ne me donne pas le même graphe que sur wikipédia, je trouve la même forme mais avec une largeur plus petite (entre -0.5 et 0.5 au lieu de -1 et 1).
Savez-vous d'où peut venir ce problème ?