Académique Documents
Professionnel Documents
Culture Documents
I Numpy
Numpy est une bibliothèque scientifique qui permet de faire du calcul numérique de façon plus rapide
et pratique (par rapport aux fonctionnalités de base de python). On supposera pour tout les exemples que la
bibliothèque numpy a été importé de la façon suivante : import numpy as np.
1. Type de base
Numpy introduit essentiellement un nouveau type : le type ndarray (pour tableau à n dimension) .
Il existe plusieurs moyen de créer un tel tableau, en particulier :
1 x=np.array([1,3,6,10])#array :conversion depuis une liste ou un tuple
2 x=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])#tableau à deux
dimensions
3 x=np.linspace(1,4,10)#crée un tableau de 10 points équi-répartis allant
de exactement 1 à exactement 4
4 x=np.arange(1,4,0.3)#équivalent de range : tableau qui part de 1 (
inclus) qui va jusqu’à 4 (exclus) par pas de 0.3
5 x=np.zeros( (5,3) )# crée un tableau de 0 de 5 lignes et 3 colonnes
On accède aux éléments du tableau de manière similaire aux listes :
1 N=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])#tableau à deux
dimensions
2 p r i n t (N[1,0])#renvoie 5 on accède comme aux matrices
3 p r i n t (N[0,2])#renvoie 3 (mais en commençant les indices à 0 et non pas
à 1)
On peut avoir un tableau à plus de deux dimensions, par exemple si l’on veut calculer la température
dans une pièce en repérant chaque point par ses coordonnés x,y,z et à chaque instant t, on ne va en fait
résoudre numériquement le problème que pour certains instants et en certains points de l’espace. On parle
de discrétisation : on passe d’un modèle continu où toutes les positions et tout les instants sont
accessibles à un modèle discret où seuls certaines positions et certains instants sont disponibles.
On peut discrétiser l’espace et le temps de la façon suivante : xi = x0 +i×dx ; yj = y0 +. . . tk = t0 +k×dt.
La grandeur dt est le pas de temps. Plus on veut que notre résolution numérique soit précise, plus il faut
que les pas de temps et d’espace soient petits et donc ... plus le calcul est long et prend beaucoup de
mémoire.
On peut stocker le résultat dans un tableau à 4 dimensions en prenant par exemple la convention que la
première dimension représente le temps, la deuxième l’abscisse etc...
1 T[3,4,9,2]#donne accès à la température au temps t+3dt au point de l’
espace d’abscisse x0+4dx, d’ordonnée y0+9dy et de côte z0+2dz
2 t000=T[:,0,0,0]#donne accès à l’évolution de la température du point x0
,y0,z0 au cours du temps sous forme d’un tableau 1D (extraction de
sous tableaux)
1
I09 Numpy et matplotlib.
4. Produit matriciel
L’opérateur ’*’ représente donc la multiplication terme à terme. Pour accéder au produit matriciel, il faut
utiliser la fonction dot :
1 M=np.array([[1,0],[1,1]])
2 N=M.transpose()#enregistre dans n la transposé de N
3 np.dot(N,M)# => array([[2, 1],[1, 1]])
4 np.dot(M,N)# => array([[1, 1],[1, 2]])
II Matplotlib
Matplotlib est une bibliothèque graphique qui permet de tracer des courbes et des graphiques. Elle permet
aussi de faire des animations, d’afficher des images etc...
1 plt.figure()
2 plt.suptitle(’Un joli cercle et une belle spirale’)#ajoute un titre
3 x=np.linspace(0,2*np.pi,200)
4 plt.plot(np.cos(2*x),np.sin(2*x),’--’)#cercle en pointillé
5 plt.plot(3*np.cos(5*x)/(3+5*x),3*np.sin(5*x)/(3+5*x),’-o’)#spirale en
faisant apparaitre les points et les traits qui les relient
6 plt.axis(’equal’)#même échelle en x et en y
7 plt.show()#déclenche l’affichage
II Matplotlib