CPGE : Reda Slaoui Année scolaire : 2022/2023
Python : numpy et matplotlib
1 Le module numpy de calcul mathématique
1.1 Les fonctions usuelles
Commençons par importer le module numpy à l’aide de la commande :
>>> import numpy as np
Les fonctions usuelles mathématiques accessibles par la bibliothèque numpy sont:
• valeur absolue : [Link]
• logarithme népérien : [Link]
• exponentielle : [Link]
• racine carrée : [Link]
1.2 Les vecteurs
• Pour définir le vecteur-ligne (u1 , . . . , un ) , on utilise la commande : [Link]([u1,...,un])
Exemple: u = [Link]([-2,5,10])
• L’instruction [Link](a,b,r) renvoie un vecteur ligne dont les coefficients sont en pro-
gression arithmétique de raison r, de premier terme le réel a et ne dépassant pas le réel b.
Exemple:
>>>[Link](1,5)
[1,2,3,4]
>>>[Link](2,9,2)
[2,4,6,8]
• L’instruction [Link](a,b,n) renvoie un vecteur ligne dont les n coefficients sont en
progression arithmétique, le premier étant le réel a et le dernier le réel b.
• [Link](n) renvoie le vecteur ligne dont les n coefficients sont égaux à 1.
• [Link](n) renvoie le vecteur ligne dont les n coefficients sont égaux à 0
1.2.1 Extraction/modification d’éléments d’un vecteur
Soit u = (u1 , . . . , un ) .
• Pour extraire le coefficient ui , on écrit : u[i].
• Pour modifier le coefficient ui par le réel a, on écrit : u[i] = a.
1
1.2.2 Opérations sur les vecteurs
Soient u = (u0 , . . . , un ) et v = (v0 , . . . , vn ).
• Pour obtenir le vecteur a × u (a réel), on écrit : a*u.
• Pour obtenir le vecteur u + v , on écrit : u+v.
• Pour obtenir le vecteur (u0 × v0 , . . . , un × vn ), on écrit : u*v.
• Pour obtenir le vecteur ( uv00 , . . . , uvnn ) , on écrit : u/v.
• Pour obtenir le vecteur (ua0 , . . . , uan ) (a réel), on écrit : u**a.
• Si f est une fonction prédéfinie, pour obtenir le vecteur (f (u0 ), . . . , f (un )), on écrit : f(u)
1.3 Les matrices
• Pour déclarer la matrice A = (ai,j )(i,j)∈[[1,n]]×[[1,p]] , on écrit :
[Link]([[a1,1 , . . . , a1,p ], . . . , [an,1 , . . . , an,p ]])
Exemple: A = [Link]([[1,4],[-3,0]])
• [Link]((n,p)) renvoie la matrice de Mn,p (R) dont tous les éléments sont égaux à 1.
• [Link]((n,p)) crée la matrice de Mn,p (R) dont tous les éléments sont égaux à 0.
• [Link](n) crée la matrice identité de taille n.
Remarque: Avec [Link], il faut des parenthèses simples alors qu’avec [Link] et [Link], il
faut des parenthèses doubles.
1.3.1 Extraction d’éléments d’une matrice
On suppose que l’on a déclaré une matrice A.
• L’instruction a,b = [Link](A) affecte à la variable a le nombre de lignes et à la variable
b le nombre de colonnes de la matrice A.
• Pour extraire le coefficient de la ligne d’indice i et de la colonne d’indice j, on écrit : A[i,j].
• Pour extraire la ligne d’indice i, on écrit : A[i,:].
• Pour extraire la colonne d’indice j, on écrit : A[:,j].
1.3.2 Modification d’éléments d’une matrice
On suppose que l’on a déclaré une matrice A.
• Pour remplacer l’élément de A situé à la ligne d’indice i et à la colonne d’indice j par un réel
b, on écrit : A[i,j] = b.
• Pour remplacer la ligne d’indice i de A par L, on écrit : A[i,:] = L.
• Pour remplacer la colonne d’indice j de A par C, on écrit : A[:,j] = C.
2
1.3.3 Opérations arithmétiques coefficient par coefficient
Soient A = (ai,j ) et B = (bi,j ) deux matrices de même format déclarées dans les variables A et B.
• Pour obtenir la matrice a × A (a réel), on écrit : a*A.
• Pour obtenir la matrice A + B, on écrit : A+B.
• Pour obtenir la matrice C = (ai,j × bi,j ), on écrit : A*B.
• Pour obtenir la matrice C = (ai,j /bi,j ), on écrit : A/B.
b
• Pour obtenir la matrice C = (ai,ji,j ), on écrit : A**B.
• Si f est une fonction prédéfinie, pour obtenir la matrice (f (ai,j )), on écrit : f(A).
1.3.4 Opérations matricielles
Soient A et B deux matrices déclarées dans les variables A et B.
• Pour obtenir t A (la matrice transposée de A), on écrit : [Link](A).
• Pour obtenir la matrice A × B (produit matriciel), on écrit : [Link](A,B) (sous réserve que
le produit ait du sens).
2 Le module matplotlib de représentation graphique
Commençons par importer le module [Link] à l’aide de la commande :
>>> import [Link] as plt
2.1 Représentation graphique d’une fonction
Soit f une fonction définie sur un intervalle [a, b] avec a < b. Pour obtenir une représentation
graphique de f :
1. On définit x = [Link](a,b,n) avec n grand.
2. En notant x0 , . . . , xn les composantes du vecteur x, on déclare un vecteur y dont les com-
posantes sont f (x0 ), . . . , f (xn ).
3. On obtient enfin la courbe de f à l’aide de la commande : [Link](x,y).
Exemple:
x = [Link](-5,5,100)
y = [Link](x)
[Link](x,y)
[Link]()
3
2.2 Représentation graphique d’une suite
Soit un une suite définie sur I, Pour obtenir une représentation graphique de un sur [[a, b]] ⊂ I:
1. On définit x = [Link](a,b+1).
2. En notant x0 , . . . , xn les composantes du vecteur x, on déclare un vecteur y dont les com-
posantes sont ux0 , . . . , uxn .
3. On obtient enfin la courbe de f à l’aide de la commande : [Link](x,y).
Exemple:
def u(n):
return [Link](n)+1
x = [Link](1,50)
y = u(x)
[Link](x,y)
[Link]()
2.3 Paramétrisation des courbes
2.3.1 Titre , légende et grille
• Pour ajouter un titre au graphique : [Link](’Titre du graphique’)
• Pour ajouter une grille au graphique : [Link]()
• Pour associer une étiquette à un tracé : [Link](x,y,label="f(x)")
• Pour afficher la légende : [Link]()
2.3.2 Couleurs
On peut modifier la couleur d’une courbe ou d’un nuage de points avec le paramètre optionnel
color.
[Link](x,y,color=’r’)
[Link](x,y,color=’y’)
Caractère Couleur correspondante
’b’ bleu
’g’ vert
’r’ rouge
’c’ cyan
’m’ magenta
’y’ jaune
’k’ noir
4
2.3.3 Style de point
On peut modifier le style d’un nuage de points avec le paramètre optionnel marker.
[Link](x,y,marker=’x’)
Caractère Style de point correspondant
’.’ Un petit point
’,’ Un carré
’+’ Un +
’x’ Un x
’*’ Une étoile
2.3.4 Style de ligne
On peut modifier le style de ligne d’une courbe avec le paramètre optionnel linestyle.
[Link](x,y,linestyle=’--’)
Caractère(s) Style de ligne correspondant
’-’ Ligne continue
’- -’ Ligne discontinue
’-.’ Alternance de points et tirets
’:’ Ligne pointillée