Python / leçon 4
Modules du calcul scientifique
Abdramane BAH, PhD / Maître Assistant
abdramane.bah@enetp.ml /abah.enetp@gmail.com
Plan
1. Modules du calcul scientifique
2. Module NumPy
a) Fonctions mathématiques
b) Vecteurs
c) matrices
3. Module Matplotlib
a) Graphique 2D
b) Graphique 3D
2
3) Matplotlib
Références/ tutoriels:
1. Site officiel : https://matplotlib.org
2. Tutoriel du site w3schools sur Matplotlib
https://www.w3schools.com/python/matplotlib_histograms.asp
3
3) Matplotlib : présentation
• Graphique 2D:
Représentation graphique (courbe …) en deux
dimensions: X « abscisse »,Y « ordonnée ».
4
• Graphique 3D:
Représentation graphique en trois dimensions: X
« abscisse »,Y « ordonnée », Z « cote»
3) Matplotlib : présentation
Les graphiques 2D et 3D servent à la
• visualisation de données telles que
• des fonctions mathématiques (courbes, etc…),
• des données statistiques (histogrammes etc…)
• ...
• Très utile dans la rédaction de documents scientifiques de qualité.
• Matplotlib offre beaucoup de possibilités de représentations graphiques de données.
5
3) Matplotlib : présentation
• Matplotlib est une bibliothèque de Python destinée à la visualisation de données
(i.e. graphiques 2D et 3D statiques, animés et interactives).
• Elle- se base sur les tableaux de la bibliothèque NumPy pour réaliser les graphiques.
• Les fonctions de création graphique sont contenues dans le sous-module « pyplot »
6
3.1) Graphique 2D
7
3.1.1) Matplotlib: création de courbes
On utilise la fonction plot()
Procédure de création de graphique 2D:
1. créer un vecteur d'abscisse X
X = (x1; : : : ; xN ),
2. créer un vecteur d'ordonnéesY
Y = (y1; : : : ; yN )
3. plot(X,Y)
NB: X etY doivent avoir la même taille 9
3.1.1) Matplotlib: création de courbes
Paramètres de la fonction plot():
plot() prend en paramètres des vecteurs ou des matrices
1. plot(X,Y) où X etY sont des vecteurs:
• X (les abscisses) etY (les ordonnées)
2. plot(V) oùV est un vecteur:
• les valeurs du vecteurV définiront l’axe Y et leurs positions définiront l’axe X.
10
3.1.1) Matplotlib: création de courbes
Paramètres de la fonction plot():
3. Plot(A) où A est une matrice:
produit plusieurs courbes (une pour chaque colonne)
• les valeurs de chaque colonne définiront les éléments de l’axe Y, et leurs positions
définiront les éléments de l’axe X.
4. Plot(A,B) où A et B sont des matrices:
produit aussi plusieurs courbes (une pour chaque colonne)
• les valeurs de chaque colonne de la 1ère matrice définiront les éléments de l’axe X; et les
valeurs de chaque colonne de la 2ème matrice définiront l’axeY.
11
3.1.1) Matplotlib: création de courbes
• Exemple: traçons la courbe de la fonction f x = 𝑐𝑜𝑠(𝑥) où x comprend 30
éléments équidistants compris entre [0, 2π ].
12
3.1.1) création de courbes : exercices
• Exercice 1:
Tracer la courbe de la fonction f x = sin(𝑥) dans l’intervalle [-2π, 2π] avec les pas
suivants : π/3 , π /12 et π /100
• Exercice 2:
Tracer la courbe de la fonction f x = 𝑥sin(1/𝑥) où x comprend 300 éléments
équidistants compris entre [- π /4 , π /4].
13
3.1.2) Courbes : personnaliser l’apparence
• Options de la fonction plot()
plot (x, y, ’marqueur’)
’marqueur’ est une combinaison de
caractères spéciaux permettant de
spécifier la couleur , le style et le symbole
de la courbe.
14
y = sin(x) pour x = [-π ... π] avec un pas = π/12.
plot(x ,y , ' r:* ')
3.1.2) Courbes : personnaliser l’apparence
• plot (x, y, ’marqueur’) :
Exemples:
1. plot(x ,y , ‘ g-. ‘)
couleur : verte, style: point tiret
2. plot(x ,y , ‘ b:h ‘)
couleur : bleue, style: pointillé
Symbole: hexagramme
15
3.1.2) Courbes : personnaliser l’apparence
• Epaisseur des traits/symboles
plot (x, y, lineWidth = n)
Permet de choisir l’épaisseur
respectivement du trait et des symboles
par les options ’lineWidth’ et ’markersize’ .
16
y = sin(x) pour x = [-π ... π] avec un pas = π/12.
3.1.2) Apparence des courbes: exercices
a) Dessiner les courbes des trois fonctions suivantes:
la fonction y1 = sin(𝑥) , y2 = sin(2𝑥) et y3 = sin(3𝑥)dans l’intervalle [0, 2π] pas: 0,05
b) Représenter
• y1 avec une ligne noire,
• y2 en utilisant une étoile bleue,
• et y3, avec des cercles rouges.
17
3.1.3) Courbes: Habillage & Annotation
• grid() : ajoute des grilles dans les plans des axes.
• xlabel(’texte’) / ylabel(’texte’) / zlabel(’texte’)
ajoute un titre pour l’axe des abscisses x / l’axe des ordonnées y / pour l’axe z
• title(’titre de la figure’) : ajoute un texte en haut du graphique.
• legend() : crée une boîte de légende pour les courbes tracées.
18
3.1.3) Courbes: Habillage & Annotation
• legend()
19
3.1.3) Courbes: Habillage & Annotation
20
• Exercice:
Dessiner la fonction : f(x) = -2x3+x2-2x+4 pour x variant de [-4 .. 4], avec un pas de 0,5.
a) Donner un titre à la figure
b) Afficher la courbe en rouge
c) Afficher la grille
d) Afficher le texte ‘L’axe des abscisses’ sur l’axe X
e) Afficher le texte ‘L’axe des ordonnées’ sur l’axeY
3.1.4) Plusieurs courbes dans la même figure
• Deux méthodes
1. Utiliser plusieurs plot()
2. ou un plot() avec plusieurs arguments
21
ou
3.1.4) Plusieurs courbes dans la même figure
Exercice 1:
a) Dessiner dans une même figure, les trois fonctions suivantes:
la fonction y1 = 2𝑐𝑜𝑠𝑥 , y2 = 𝑐𝑜𝑠𝑥 et y3 = 1/2𝑐𝑜𝑠𝑥 dans l’intervalle [0, 2π]
• y1: couleur (bleue), style(tiret)
• y2: couleur (verte), style(trait continu)
• y3: couleur (rouge), style(point tiret)
b) Ajouter les légendes suivantes 2𝑐𝑜𝑠𝑥 , 𝑐𝑜𝑠𝑥 et 0.5*𝑐𝑜𝑠𝑥 respectivement à y1, y2 et y3
22
3.1.4) Plusieurs courbes dans la même figure
Exercice 2:
a) tracer dans une même figure, les courbes représentant les fonctions y1 = 𝑠𝑖𝑛(𝑥2)
y2 = ln( 𝑥), où x comprend 30 éléments équidistants compris entre [0 , 2]
• sinus cardinal en trait rouge continu
• sinus amorti en pointillés couleur verte
b) Ajouter le texte ‘y= 𝑠𝑖𝑛(𝑥2) ’ à la position (1,0.8) pour décrire y1
c) Ajouter le texte ‘y= 𝑙𝑜𝑔(𝑠𝑞𝑟𝑡(𝑥)) ’ à la position (1, -0.1) pour décrire y2
d) Ajouter comme titre de la figure le texte ‘Fonctions sinus et logarithme’
e) Annoter l’axe X et l’axeY
23
3.1.4) Plusieurs courbes dans la même figure
Exercice 3:
a) tracer dans une même figure, les courbes représentant les fonctions sinus cardinal
y1 = 𝑠𝑖𝑛𝑐(
𝑥
2
) et sinus amorti y2 =
𝑒
−
𝑥
10
3
sin(𝑥) , dans l’intervalle [-4π, 4π ] pas: π/10
• sinus cardinal en trait rouge continu
• sinus amorti en pointillés couleur verte
b) Ajouter le texte ‘sinus cardinal’ en haut de la courbe de la fonction « sinus cardinal »
c) Ajouter le texte ‘sinus amorti’ en haut de la courbe de la fonction « sinus amorti »
24
3.1.5) Sous-figures
• On utilise la fonction subplot()
Syntaxe : subplot( m, n, p)
Elle symbolise le découpage de la figure en
une matrice m lignes et n colonnes.
Le nombre p compris entre 1 et n*m désigne
le numéro de la sous-fenêtre où l’on veut
tracer sa courbe.
25
3.1.5) Sous-figures
26
3.2) Graphique 3D
27
A suivre …..

4-Python - modules du calcul scientifique - Matplotlib (provisoire).pdf

  • 1.
    Python / leçon4 Modules du calcul scientifique Abdramane BAH, PhD / Maître Assistant abdramane.bah@enetp.ml /abah.enetp@gmail.com
  • 2.
    Plan 1. Modules ducalcul scientifique 2. Module NumPy a) Fonctions mathématiques b) Vecteurs c) matrices 3. Module Matplotlib a) Graphique 2D b) Graphique 3D 2
  • 3.
    3) Matplotlib Références/ tutoriels: 1.Site officiel : https://matplotlib.org 2. Tutoriel du site w3schools sur Matplotlib https://www.w3schools.com/python/matplotlib_histograms.asp 3
  • 4.
    3) Matplotlib :présentation • Graphique 2D: Représentation graphique (courbe …) en deux dimensions: X « abscisse »,Y « ordonnée ». 4 • Graphique 3D: Représentation graphique en trois dimensions: X « abscisse »,Y « ordonnée », Z « cote»
  • 5.
    3) Matplotlib :présentation Les graphiques 2D et 3D servent à la • visualisation de données telles que • des fonctions mathématiques (courbes, etc…), • des données statistiques (histogrammes etc…) • ... • Très utile dans la rédaction de documents scientifiques de qualité. • Matplotlib offre beaucoup de possibilités de représentations graphiques de données. 5
  • 6.
    3) Matplotlib :présentation • Matplotlib est une bibliothèque de Python destinée à la visualisation de données (i.e. graphiques 2D et 3D statiques, animés et interactives). • Elle- se base sur les tableaux de la bibliothèque NumPy pour réaliser les graphiques. • Les fonctions de création graphique sont contenues dans le sous-module « pyplot » 6
  • 7.
  • 8.
    3.1.1) Matplotlib: créationde courbes On utilise la fonction plot() Procédure de création de graphique 2D: 1. créer un vecteur d'abscisse X X = (x1; : : : ; xN ), 2. créer un vecteur d'ordonnéesY Y = (y1; : : : ; yN ) 3. plot(X,Y) NB: X etY doivent avoir la même taille 9
  • 9.
    3.1.1) Matplotlib: créationde courbes Paramètres de la fonction plot(): plot() prend en paramètres des vecteurs ou des matrices 1. plot(X,Y) où X etY sont des vecteurs: • X (les abscisses) etY (les ordonnées) 2. plot(V) oùV est un vecteur: • les valeurs du vecteurV définiront l’axe Y et leurs positions définiront l’axe X. 10
  • 10.
    3.1.1) Matplotlib: créationde courbes Paramètres de la fonction plot(): 3. Plot(A) où A est une matrice: produit plusieurs courbes (une pour chaque colonne) • les valeurs de chaque colonne définiront les éléments de l’axe Y, et leurs positions définiront les éléments de l’axe X. 4. Plot(A,B) où A et B sont des matrices: produit aussi plusieurs courbes (une pour chaque colonne) • les valeurs de chaque colonne de la 1ère matrice définiront les éléments de l’axe X; et les valeurs de chaque colonne de la 2ème matrice définiront l’axeY. 11
  • 11.
    3.1.1) Matplotlib: créationde courbes • Exemple: traçons la courbe de la fonction f x = 𝑐𝑜𝑠(𝑥) où x comprend 30 éléments équidistants compris entre [0, 2π ]. 12
  • 12.
    3.1.1) création decourbes : exercices • Exercice 1: Tracer la courbe de la fonction f x = sin(𝑥) dans l’intervalle [-2π, 2π] avec les pas suivants : π/3 , π /12 et π /100 • Exercice 2: Tracer la courbe de la fonction f x = 𝑥sin(1/𝑥) où x comprend 300 éléments équidistants compris entre [- π /4 , π /4]. 13
  • 13.
    3.1.2) Courbes :personnaliser l’apparence • Options de la fonction plot() plot (x, y, ’marqueur’) ’marqueur’ est une combinaison de caractères spéciaux permettant de spécifier la couleur , le style et le symbole de la courbe. 14 y = sin(x) pour x = [-π ... π] avec un pas = π/12. plot(x ,y , ' r:* ')
  • 14.
    3.1.2) Courbes :personnaliser l’apparence • plot (x, y, ’marqueur’) : Exemples: 1. plot(x ,y , ‘ g-. ‘) couleur : verte, style: point tiret 2. plot(x ,y , ‘ b:h ‘) couleur : bleue, style: pointillé Symbole: hexagramme 15
  • 15.
    3.1.2) Courbes :personnaliser l’apparence • Epaisseur des traits/symboles plot (x, y, lineWidth = n) Permet de choisir l’épaisseur respectivement du trait et des symboles par les options ’lineWidth’ et ’markersize’ . 16 y = sin(x) pour x = [-π ... π] avec un pas = π/12.
  • 16.
    3.1.2) Apparence descourbes: exercices a) Dessiner les courbes des trois fonctions suivantes: la fonction y1 = sin(𝑥) , y2 = sin(2𝑥) et y3 = sin(3𝑥)dans l’intervalle [0, 2π] pas: 0,05 b) Représenter • y1 avec une ligne noire, • y2 en utilisant une étoile bleue, • et y3, avec des cercles rouges. 17
  • 17.
    3.1.3) Courbes: Habillage& Annotation • grid() : ajoute des grilles dans les plans des axes. • xlabel(’texte’) / ylabel(’texte’) / zlabel(’texte’) ajoute un titre pour l’axe des abscisses x / l’axe des ordonnées y / pour l’axe z • title(’titre de la figure’) : ajoute un texte en haut du graphique. • legend() : crée une boîte de légende pour les courbes tracées. 18
  • 18.
    3.1.3) Courbes: Habillage& Annotation • legend() 19
  • 19.
    3.1.3) Courbes: Habillage& Annotation 20 • Exercice: Dessiner la fonction : f(x) = -2x3+x2-2x+4 pour x variant de [-4 .. 4], avec un pas de 0,5. a) Donner un titre à la figure b) Afficher la courbe en rouge c) Afficher la grille d) Afficher le texte ‘L’axe des abscisses’ sur l’axe X e) Afficher le texte ‘L’axe des ordonnées’ sur l’axeY
  • 20.
    3.1.4) Plusieurs courbesdans la même figure • Deux méthodes 1. Utiliser plusieurs plot() 2. ou un plot() avec plusieurs arguments 21 ou
  • 21.
    3.1.4) Plusieurs courbesdans la même figure Exercice 1: a) Dessiner dans une même figure, les trois fonctions suivantes: la fonction y1 = 2𝑐𝑜𝑠𝑥 , y2 = 𝑐𝑜𝑠𝑥 et y3 = 1/2𝑐𝑜𝑠𝑥 dans l’intervalle [0, 2π] • y1: couleur (bleue), style(tiret) • y2: couleur (verte), style(trait continu) • y3: couleur (rouge), style(point tiret) b) Ajouter les légendes suivantes 2𝑐𝑜𝑠𝑥 , 𝑐𝑜𝑠𝑥 et 0.5*𝑐𝑜𝑠𝑥 respectivement à y1, y2 et y3 22
  • 22.
    3.1.4) Plusieurs courbesdans la même figure Exercice 2: a) tracer dans une même figure, les courbes représentant les fonctions y1 = 𝑠𝑖𝑛(𝑥2) y2 = ln( 𝑥), où x comprend 30 éléments équidistants compris entre [0 , 2] • sinus cardinal en trait rouge continu • sinus amorti en pointillés couleur verte b) Ajouter le texte ‘y= 𝑠𝑖𝑛(𝑥2) ’ à la position (1,0.8) pour décrire y1 c) Ajouter le texte ‘y= 𝑙𝑜𝑔(𝑠𝑞𝑟𝑡(𝑥)) ’ à la position (1, -0.1) pour décrire y2 d) Ajouter comme titre de la figure le texte ‘Fonctions sinus et logarithme’ e) Annoter l’axe X et l’axeY 23
  • 23.
    3.1.4) Plusieurs courbesdans la même figure Exercice 3: a) tracer dans une même figure, les courbes représentant les fonctions sinus cardinal y1 = 𝑠𝑖𝑛𝑐( 𝑥 2 ) et sinus amorti y2 = 𝑒 − 𝑥 10 3 sin(𝑥) , dans l’intervalle [-4π, 4π ] pas: π/10 • sinus cardinal en trait rouge continu • sinus amorti en pointillés couleur verte b) Ajouter le texte ‘sinus cardinal’ en haut de la courbe de la fonction « sinus cardinal » c) Ajouter le texte ‘sinus amorti’ en haut de la courbe de la fonction « sinus amorti » 24
  • 24.
    3.1.5) Sous-figures • Onutilise la fonction subplot() Syntaxe : subplot( m, n, p) Elle symbolise le découpage de la figure en une matrice m lignes et n colonnes. Le nombre p compris entre 1 et n*m désigne le numéro de la sous-fenêtre où l’on veut tracer sa courbe. 25
  • 25.
  • 26.