0% ont trouvé ce document utile (0 vote)
159 vues63 pages

Numpy Matplotlib Et Scipy

Transféré par

n8yvnmv8f8
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
159 vues63 pages

Numpy Matplotlib Et Scipy

Transféré par

n8yvnmv8f8
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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

Vous aimerez peut-être aussi