Les Bibliothèques mathématique
Mehdi Mekkaoui
CPGE Tanger
Lycee Moulay Al Hassan
[email protected]
29 avril 2024
Numpy matplotlib scipy
Introduction et déploiement
Introduction
Définition 1
Pour simuler nombreux fonctions , opérations et phénomène mathématiques et
physique , python à inclus des bibliothèques opérant dans ce cadre soit pour les
calculs vectoriels soit pour affichage ou tous simplement pour estimation de solution
et calcule d’intégrales et de dérivée . pourcela dans ce cours on vera trois des
bibliothéque les plus utilisée :
1/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction et déploiement
Introduction
Définition 1
Pour simuler nombreux fonctions , opérations et phénomène mathématiques et
physique , python à inclus des bibliothèques opérant dans ce cadre soit pour les
calculs vectoriels soit pour affichage ou tous simplement pour estimation de solution
et calcule d’intégrales et de dérivée . pourcela dans ce cours on vera trois des
bibliothéque les plus utilisée :
numpy
1/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction et déploiement
Introduction
Définition 1
Pour simuler nombreux fonctions , opérations et phénomène mathématiques et
physique , python à inclus des bibliothèques opérant dans ce cadre soit pour les
calculs vectoriels soit pour affichage ou tous simplement pour estimation de solution
et calcule d’intégrales et de dérivée . pourcela dans ce cours on vera trois des
bibliothéque les plus utilisée :
numpy
matplotlib
1/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction et déploiement
Introduction
Définition 1
Pour simuler nombreux fonctions , opérations et phénomène mathématiques et
physique , python à inclus des bibliothèques opérant dans ce cadre soit pour les
calculs vectoriels soit pour affichage ou tous simplement pour estimation de solution
et calcule d’intégrales et de dérivée . pourcela dans ce cours on vera trois des
bibliothéque les plus utilisée :
numpy
matplotlib
scipy
1/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
la bibliotheque Numpy en python
Définition 2
NumPy est une bibliothèque pour langage de programmation Python, destinée à
manipuler des matrices ou tableaux multidimensionnels ainsi que des fonctions
mathématiques opérant sur ces tableaux.
2/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
instalation et import
Pour installer cette bibliotheque
1 pip install numpy
Et pour l’utiliser dans le code :
1 import numpy as np
3/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
opérations sur les listes
Array
Pour transformer une liste vers une liste de type numpy on utilise la
commande array.
Exemple 1 :
1 import numpy as np
2 tableau = np . array ([1 , 1.5 , 2 , 2.5])
3 tableau
Exemple 2 :
1 l =[[1 ,2] ,[3 ,4]]
2 mat = np . array ( l )
3 mat
4/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
opérations sur les listes
Accès aux éléments
l’acces aux elements dans numpy est similaire aux listes
Exemple :
1 tableau = np . array ([1 ,2 ,3 ,4])
2 print ( tableau [0])
3 print ( tableau [0:2])
4 print ( tableau [1:])
5 print ( tableau [: -1])
5/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
ajout et suppression
pour ajouter un element à la find’un array on utilise la methode :
1 tableau = np . array ([1 , 2 , 4 , 6])
2 tableau = np . append ( tableau , 8)
pour supprimer un element dans un array dont l’indice est donner :
1 tableau = np . array ([1 , 2 , 4 , 6])
2 tableau = np . delete ( tableau , 1)
pour inserer un element dans un array dons l’indice est donner :
1 tableau = np . array ([1 , 2 , 4 , 6])
2 tableau = np . insert ( tableau , 2 , 3)
6/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple
Pour la liste des éléments suivante , (2,4,7,11,16,22,29) creer un array
correspondant :
1 ar = np . array ([2 ,4 ,7 ,11 ,16 ,22 ,29])
7/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple
Pour la liste des éléments suivante , (2,4,7,11,16,22,29) creer un array
correspondant :
1 ar = np . array ([2 ,4 ,7 ,11 ,16 ,22 ,29])
ajouter 27 a la fin de cet array
7/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple
Pour la liste des éléments suivante , (2,4,7,11,16,22,29) creer un array
correspondant :
1 ar = np . array ([2 ,4 ,7 ,11 ,16 ,22 ,29])
ajouter 27 a la fin de cet array
1 ar = np . append ( ar ,27)
7/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple
Pour la liste des éléments suivante , (2,4,7,11,16,22,29) creer un array
correspondant :
1 ar = np . array ([2 ,4 ,7 ,11 ,16 ,22 ,29])
ajouter 27 a la fin de cet array
1 ar = np . append ( ar ,27)
ajouter 1 au debut de cet array
7/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple
Pour la liste des éléments suivante , (2,4,7,11,16,22,29) creer un array
correspondant :
1 ar = np . array ([2 ,4 ,7 ,11 ,16 ,22 ,29])
ajouter 27 a la fin de cet array
1 ar = np . append ( ar ,27)
ajouter 1 au debut de cet array
1 ar = np . insert ( ar ,0 ,1)
7/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple
Pour la liste des éléments suivante , (2,4,7,11,16,22,29) creer un array
correspondant :
1 ar = np . array ([2 ,4 ,7 ,11 ,16 ,22 ,29])
ajouter 27 a la fin de cet array
1 ar = np . append ( ar ,27)
ajouter 1 au debut de cet array
1 ar = np . insert ( ar ,0 ,1)
supprimer element dasn l’indice est 3
7/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple
Pour la liste des éléments suivante , (2,4,7,11,16,22,29) creer un array
correspondant :
1 ar = np . array ([2 ,4 ,7 ,11 ,16 ,22 ,29])
ajouter 27 a la fin de cet array
1 ar = np . append ( ar ,27)
ajouter 1 au debut de cet array
1 ar = np . insert ( ar ,0 ,1)
supprimer element dasn l’indice est 3
1 ar = np . delete ( ar ,3)
7/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
arange et linespace
Pour générer un tableau avec des données comprises dans un intervalle, on
utilise principalement deux fonctions : arange et linspace . La première est
analogue à la fonction range. La seconde prend trois paramètres : le début de
l’intervalle (inclus), la fin de l’intervalle (non inclus) et le nombre de valeurs
que l’on veut entre ces deux valeurs. Par exemple :
1 ls = np . linspace (0 , 10 , 5) # 5 nombres compris entre 0 et 10
2 print ( ls )
3 ar = np . arange (1 , 5 , 0.5) # Nombres de 1 et 5 ( exclu ) avec un pasde
0.5
4 print ( ar )
Remarque
Donc il est clair que pour subdiviser un intervalle en un nombre determiner
de parties on utilise linespace et pour donner un pas ( entier ou reel ) on
utilise arange
8/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
donner la liste composee des nombre compris entre 3 et 6 avec un pas de
0.5
9/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
donner la liste composee des nombre compris entre 3 et 6 avec un pas de
0.5
1 np . arange (3 , 6 , 0.5)
9/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
donner la liste composee des nombre compris entre 3 et 6 avec un pas de
0.5
1 np . arange (3 , 6 , 0.5)
donner maintenant la liste des 10 nombres comprissent entre 0 et 1
9/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
donner la liste composee des nombre compris entre 3 et 6 avec un pas de
0.5
1 np . arange (3 , 6 , 0.5)
donner maintenant la liste des 10 nombres comprissent entre 0 et 1
1 np . linspace (0 ,1 ,10)
9/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Définition 3
numpy possède aussi des fonctions pré-définit , a titre d’exemple :
np.sin()
np.cos()
np.tan()
np.exp()
np.log()
...
10/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Définition 3
numpy possède aussi des fonctions pré-définit , a titre d’exemple :
np.sin()
np.cos()
np.tan()
np.exp()
np.log()
...
Ces fonctions peuvent être directement appliquer sur un vecteur ( array )
10/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple 1
11/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
Exemple 1
Remarque 1
il aussi possible de faire des operation direct ou d’appliquer les fonctions declarées
sous numpy sur un array :
11/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
attention de ne pas utiliser dèmes fonctions définit directement
12/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
attention de ne pas utiliser dèmes fonctions définit directement
Pour se remedier à se prbleme on fait tout dabrd une transformation de cette
fontion a travers la fonction np.vectorise()
12/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
fonctions prédéfinies
attention de ne pas utiliser dèmes fonctions définit directement
Pour se remedier à se prbleme on fait tout dabrd une transformation de cette
fontion a travers la fonction np.vectorise()
12/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction
Présentation de la bibliothèque
Définition 4
Commençons par le début, présentons matplotlib. Il s’agit sûrement de l’une des
bibliothèques python les plus utilisées pour représenter des graphiques en 2D. Elle
permet de produire une grande variété de graphiques et ils sont de grande qualité.
Le module pyplot de matplotlib est l’un de ses principaux modules. Il regroupe un
grand nombre de fonctions qui servent à créer des graphiques et les personnaliser
(travailler sur les axes, le type de graphique, sa forme et même rajouter du texte).
Avec lui, nous avons déjà de quoi faire de belles choses.
13/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction
Installation et appelle dans programme
Pour installer matplotlib pour la première foie , on Utilisé la commande :
1 pip install matplotlib
Par la suite on Utilise la commande suivante pour l’utiliser :
1 import matplotlib . pyplot as plt
Ou bien :
1 from matplotlib import pyplot as plt
Remarque
le module numpy est beaucoup utilise avec ce module , vu la compatibilité
des deux modules
14/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction
Mon premier Plot !
La fonction utilisée pour l’affichage des courbes des fonction est plt.plot , est
utilisée comme ce suit :
1 import numpy as np
2 x = np . linspace (1 ,10 ,100)
3 plt . plot (x , x )
ou bien :
1 x = np . linspace (1 ,10 ,100)
2 plt . plot ( x )
15/38
Remarque
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction
Exemple 2
Essayez maintenant d’afficher de la mémé manière la fonction g(x) = x2 + 1
16/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction
Exemple 2
Essayez maintenant d’afficher de la mémé manière la fonction g(x) = x2 + 1
1 x = np . linspace ( -5 ,5 ,100)
2 g = lambda x : x **2 +1
3 plt . plot (x , g ( x ) )
16/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction
Autres atribues de la fonctions plot
la fonction plot , contient autres attribues :
plt.plot(x,y,color="red") : pour changer la couleur en rouge , aussi
posible green , blue , ...
plt.plot(x,y,motif=’o’) : pour changer le motif en des ’o’ , possible aussi
+,x,...
plt.plot(x,y,linestyle=’dashed’) : pour modifier le style d’affichage en un
trait en pontier
ect
Remarque
Pour savoir plus d’informations , et sur les couleurs possibles et pour les
styles de lignes et pour les autres attribues qui non pas discuter on peur
utiliser la commande help(plt.plot) pour lire la documentation
17/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction
1 x = np . linspace (0 ,5 ,10)
2 y = np . sin ( x )
3 plt . plot (x , y , color = ’ red ’ , linestyle = " --" )
1 x = np . linspace (0 ,5 ,20)
2 y = np . sin ( x )
3 plt . plot (x , y , ’go - - ’ , linewidth =2 , markersize =12)
18/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Introduction
les titres
Pour afficher les titre on utilise les fonctions :
plt.title : pour donner un titre a l’affichage
plt.xlabel : pour donner un nom axe des abscisses
plt.ylabel : pour donner un nom axe des ordonnées
Exemple :
1 x = np . linspace (0 ,5 ,100)
2 plt . xlabel ( " x " )
3 plt . ylabel ( " f ( x ) " )
4 plt . title ( " courbe de la fonction racine de x " )
5 plt . plot (x , np . sqrt ( x ) )
19/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Autres fonctions utiles
Exemple 3
Affichez la courbe de la fonction exponentielle et donner des titres a chacune des axes
puis donner un titre
20/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Autres fonctions utiles
Exemple 3
Affichez la courbe de la fonction exponentielle et donner des titres a chacune des axes
puis donner un titre
1 x = np . linspace (0 ,5 ,100)
2 plt . xlabel ( " x " )
3 plt . ylabel ( " exp ( x ) " )
4 plt . title ( " courbe de la fonction exp ( x ) " )
5 plt . plot (x , np . exp ( x ) )
20/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Autres fonctions utiles
Pour afficher plusieurs courbes sur le mémé cadre on peut afficher l’un après
l’autre puis indiquer au moment ou on veut afficher avec plt.show()
Exemple :
1 x = np . linspace (1 ,10 ,100)
2 f = np . log ( x )
3 g = np . exp ( x )
4 plt . plot (x , f )
5 plt . plot (x , g )
6 plt . show ()
indication
cette commande de plt.show() n’est pas juste utiliser pour les plot mais pour
toute afficher qu’on voudra afficher sur la mémé image 21/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Autres fonctions utiles
Legend
Maintenant on a parler d’affichage de plusieurs courbes sur mémé image
comment on pourra indique chacune par couleur ?
22/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Autres fonctions utiles
Legend
Maintenant on a parler d’affichage de plusieurs courbes sur mémé image
comment on pourra indique chacune par couleur ? on utilise la fonction
plt.legend()
22/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Autres fonctions utiles
Legend
Maintenant on a parler d’affichage de plusieurs courbes sur mémé image
comment on pourra indique chacune par couleur ? on utilise la fonction
plt.legend()
1 x = np . linspace (1 ,10 ,100)
2 f = np . log ( x )
3 g = np . exp ( x )
4 plt . plot (x ,f , label = " log " )
5 plt . plot (x ,g , label = " exp " )
6 plt . legend ()
7 plt . show ()
Remarque
la commande legend est directement liée avec l’attribue label de la fonction 22/38
plot
Les Bibliothèques mathématique
Numpy matplotlib scipy
Autres fonctions utiles
les droites Horizontale et Verticales
Définition 5
Parfois on veut juste afficher les droites pour mieux montrer l’approche de notre
courbe vers une valeur ( convergence ) , ou bien simplement montrer la position de
notre courbe avec cette droite , on utilise les deux fonctions : plt.axvline() et
plt.axhline()
23/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Autres fonctions utiles
les droites Horizontale et Verticales
Définition 5
Parfois on veut juste afficher les droites pour mieux montrer l’approche de notre
courbe vers une valeur ( convergence ) , ou bien simplement montrer la position de
notre courbe avec cette droite , on utilise les deux fonctions : plt.axvline() et
plt.axhline()
1 plt . axvline ( x = np . pi )
2 plt . axhline ( y =2 , color = " red " )
23/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Définition 6
SciPy est un projet visant à unifier et fédérer un ensemble de bibliothèques Python à
usage scientifique. Scipy utilise les tableaux et matrices du module NumPy.
24/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
SciPy est composée de sous-modules spéciaux :
scipy.cluster :Quantification vectorielle/algorithme des K-moyennes
scipy.constants : Constantes physiques et mathématiques
scipy.fftpack : Transformées de Fourier
scipy.integrate : Routines d’intégration
scipy.interpolate : Interpolation
scipy.io : Données entrées/sorties
scipy.linalg : Routines d’algèbre linéaire
scipy.ndimage : Module image à n dimensions
scipy.odr : Régression linéaire
scipy.optimize : Optimisation
scipy.signal : traitement du signal
scipy.sparse : Matrices creuses
scipy.spatial : Structure de données spatiales et algorithmes
scipy.special : Fonctions mathématiques spéciales
scipy.stats : Statistiques 25/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Calcul d’intégrale
Calcul d’intégrale
Définition 7
pour calculer l’intégrale dans la bibliothèque scipy on fait appelle a la sous
bibliothèque integrate et plus spécifiquement la méthode quad
1 from scipy . integrate import quad
26/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Calcul d’intégrale
Exemple 4
Calcul d’intégrale :
Z 1
x2 dx
0
Remarque 2
le premier paramètre de la fonction quad est pris par la fonction , puis les deux
extrémité de l’intervalle ou on veut calculer l’intégrale
la valeur retourner par la fonction est un tuple le premier élément est la valeur
approcher d’intégrale , puis dans la deuxième position l’erreur de calculs
27/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Calcul d’intégrale
Exemple 5
calculer la valeur de cette intégrale :
Z 1
ex dx
0
28/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
Calcul d’intégrale
Exemple 5
calculer la valeur de cette intégrale :
Z 1
ex dx
0
28/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
résolution f(x)=0
Définition 8
pour résoudre l’équation f(x)=0 on utilisera plusieurs méthode .ces méthodes sont
inclus dans la sous bibliothèque optimize de scipy , les méthodes inclus dans cette
dernière :
dichotomie
newton
sécante
29/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
dichotomique
Définition 9
pour utiliser la méthode de dichotomie on utiles la commande , pour l’importer
1 from scipy . optimize import bisect
30/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
Exemple 6
f (x) = x − 1
Remarque 3
la fonction bisect prend en paramètres la fonction puis les deux extrémités
d’intervalle on veut chercher la valeur d’annulation
la valeur retourner est la valeur estimer de x pour telle que f(x) = 0
31/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
Exemple 7
donner une solution de f(x) = 0 , pour f(x) = sin(x) dans [−π/4, π/4]
32/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
Exemple 7
donner une solution de f(x) = 0 , pour f(x) = sin(x) dans [−π/4, π/4]
32/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
méthode newton
Définition 10
pour utiliser la méthode de newton on fait appelé à la fonction newton dans la
bibliothèque optmize
1 from scipy . optimize import newton
33/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
Exemple 8
f (x) = x − 1
Remarque 4
la fonction newton prend en paramètres la fonction puis un point de départ de
la méthode puis la fonction dériver
la valeur retourner est la valeur estimer de x pour telle que f(x) = 0
34/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
méthode de sécante
Définition 11
pour utiliser la méthode de sécante on fait appelé à la fonction newton, aussi dans la
bibliothèque optmize , or cette foie on utilise que deux paramètres dans la fonction
1 from scipy . optimize import newton
35/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
f(x)=0
Exemple 9
f (x) = x − 1
Remarque 5
la fonction newton prend en paramètres la fonction puis un point de départ
la valeur retourner est la valeur estimer de x pour telle que f(x) = 0
36/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
équation différentielle
EDO
Définition 12
pour calculer l’intégrale dans la bibliothèque scipy on fait appelle a la sous
bibliothèque integrate et plus spécifiquement la méthode odeint
37/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
équation différentielle
Exemple 10
ϕ(t, y(t)) = y
y(0)=1
38/38
Les Bibliothèques mathématique
Numpy matplotlib scipy
équation différentielle
Exemple 10
ϕ(t, y(t)) = y
y(0)=1
38/38
Les Bibliothèques mathématique