Support de cours Python et les Widgets, tutoriel & guide de travaux pratiques Python en pdf.
Scipy – Quelques exemples d’outils
Nous avons évoqué Scipy brièvement dans la partie I du cours pour citer les différents champs d’application (statistiques, optimisation, intégration numérique, algèbre linéaire, transformée de Fourier, traitement du signal, traitement d’images, intégration d’équations différentielles, fonctions spéciales) de ce module. Scipy est construit à partir de Numpy, ce qui signifie qu’il faut avoir le module Numpy pour faire fonctionner le module Scipy. En effet nombre de fonctions ainsi que le type ‘ndarray’ de Scipy sont en fait ceux définis dans Numpy. Nous allons voir quelques exemples d’outils de Scipy pour le traitement du signal, les statistiques, l’interpolation numérique et l’intégration numérique. Note : Contrairement au premier cours nous allons importer individuellement les modules. En effet si ipython -pylab permet d’avoir accès aux fonctions principales de numpy, matplolib et scipy, il y a certains sous modules dont nous aurons besoin qui ne sont pas chargés même si ceux ci appartiennent aux différents paquets. De plus cela permettra de repérer quelques uns de ces sous modules et les objets qu’ils comportent.
Traitement du signal
Les outils de traitement du signal sont définis dans le module ‘scipy.signal’. Il y a aussi des méthodes associées aux FFT dans le pack ‘fftpack’. On peut ainsi faire des convolutions, du filtrage, déterminer des fonctions de transfert.
import scipy as sp # import du module scipy. L’appel des fonctions se fera avec le préfixe sp. import numpy as np # ——————- numpy —————————————————- np. from scipy import signal # sous module signal appartenant à scipy non chargé avec sp (ligne1) from matplotlib.pyplot import * import des outils de graphe avec accès direct sans préfixe x = np.linspace(-10, 10, 100) ysin = np.sin(x) # signal sinusoïdale ysin_rs20 = signal.resample(ysin,20) # On échantillonne sur 20 points. L’échantillonnage est ysin_rs50= signal.resample(ysin,50) # fait en utilisant une FFT. Attention au bord. L’utilisation # de la FFT suppose une périodicité du signal.
……….