Académique Documents
Professionnel Documents
Culture Documents
E. Liberge
1/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
spyder
Etape 2 : Ouvrir un fichier Etape 1 : aller dans le répertoire de travail
Etape 3 : Executer
Programme
Console
-On y suit l’execution du programme
2/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
Introduction à python
Orienté objet.
3/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
Règles de bases
Commentaires :
#exemple de commentaire
4/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
Règles de bases
Affectation
variable=valeur
x , y , z =1 ,2 ,3
x0=y0=z0
5/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
Constructeur de séquence
I n [ 5 ] : range ( 4 , 1 0 , 2 )
Out [ 5 ] : [ 4 , 6 , 8 ]
I n [ 6 ] : range (8 ,4 , −1)
Out [ 6 ] : [ 8 , 7 , 6 , 5 ]
6/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
7/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
Structure de contrôle
Nombre restreint :
test : if else elif
boucles : for in while break continue
Condition
i f i < 4:
print ( " inferieur a 4" )
elif i> 4 :
p r i n t ( " superieur a 4" )
else :
p r i n t ( " egal 4 " )
8/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
Structure de contrôle
boucle for
for i i n seq :
print ( i )
boucle while
while i < 26 :
print ( i )
i = i +1
9/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
Fonctions
Définition avec def + indentation
Exemple
I n [ 2 3 ] : d e f somme( a , b ) :
....: # f a i t l a somme de deux v a r i a b l e s
....: r e t u r n a+b
....:
I n [ 2 4 ] : somme( 5 , 4 )
Out [ 2 4 ] : 9
A essayer
seq=range ( 1 0 )
h e l p ( seq )
10/25 CAO 1
Utilisation de l’interface de développement SPYDER
Utilisation basique de python
Bibliothèques d’analyse numérique
Exercices
Exercice 1
Créer une liste qui contient tout les mois de l’année
Créer une liste qui contient le nombre de jours pour chaque mois
Faire un programme qui créer 2 listes, la première contenant les
mois de 30 jours, et la seconde ceux de 31. On utilisera pour
cela la structure append pour une liste.
Transformer le programme précédent en une fonction qui entrée
reçoit 2 listes (la liste qui contient tout les mois de l’année, et
celle qui contient le nombre de jours) et affiche les mois de
moins de 30 jours et ceux 31.
11/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
maths.py
# ! / u s r / b i n / python
p i = 3.1415926535897931
e = 2.7182818284590451
def a d d i t i o n ( x , y ) :
r e t u r n x+y
def m u l t i p l i c a t i o n ( x , y ) :
return x*y
12/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Utilisation de modules
Intermédiaire
from maths i m p o r t p i , e , a d d i t i o n
13/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Exercices
Exercice 2
Externaliser la fonction de l’exercice 1 dans un module
(module1.py)
L’utiliser via import module1
L’utiliser via un import global
14/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
numpy
scipy
>>> i m p o r t s c i p y as s c i
>>> h e l p ( s c i )
15/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
scipy
Manipulation de matrices
Matrice identité n × n
id=sci . identity (n)
Plus d’information :
h e l p ( s c i . zeros )
16/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Manipulation de matrices/vecteurs
Multiplication
A= s c i . rand ( 2 , 3 ) # m a t r i c e a l e a t o i r e 2x3
b= s c i . rand ( 3 , 2 ) # m a t r i c e a l e a t o i r e 3x2
C= s c i . d o t ( A , b ) # p r o d u i t m a t r i c i e l Axb
D=A * b . T # p r o d u i t terme a terme
h e l p (A) # m a n i p u l a t i o n de l ’ o b j e t A
Remarque Dans spyder, l’action d’écrire dans la console
A.
17/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Manipulation de matrices/vecteurs
Manipulation
La numérotation des arrays commence toujours à 0
A= s c i . rand ( 1 0 ) # vecteur a l e a t o i r e de t a i l l e 10
p r i n t (A [ 0 ] ) # affiche l a premiere v a l e u r
p r i n t (A [ 9 ] ) # affiche la derniere valeur
p r i n t ( A[ − 1 ] ) # affiche la derniere valeur
p r i n t (A. size ) # affiche l a t a i l l e de A
18/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Manipulation de matrices/vecteurs
Manipulation
Extraction de ligne/colonne
B= s c i . rand ( 3 , 8 ) # m a t r i c e a l e a t o i r e de t a i l l e 3x8
B[1 ,:] # v a l e u r s de l a deuxieme l i g n e
B[1] # v a l e u r s de l a deuxieme l i g n e
B[: ,4] # v a l e u r s de l a cinquieme colonne
B.T [ 4 ] # v a l e u r s de l a cinquieme colonne
B[2 ,4] # v a l e u r de l a case ( 3 , 5 )
B[2][4] # v a l e u r de l a case ( 3 , 5 )
19/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Entrées/sorties
sorties formatées
f =open ( ’ m o n _ p r e m i e r _ f i c h i e r ’ ,w)
f . w r i t e ( "%d \ t%s \ n " %(3 , " e s s a i " ) )
f . w r i t e ( "%d \ t%s \ n " %(4 , " l i g n e 2 " ) )
f . close ( )
20/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Entrées/sorties
Entrée formatée
f =open ( ’ m o n _ p r e m i e r _ f i c h i e r ’ , r )
r=f . readlines ( ) # stockage dans l a v a r i a b l e r
f . close ( )
longueur=len ( r ) # nombre de l i g n e s du f i c h i e r
for i in r :
print ( i . split ()) # decoupage des l i g n e s dans un t a b l e a u
21/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
linalg
22/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
linalg
Exemple SVD
i m p o r t s c i p y as s c i
i m p o r t s c i p y . l i n a l g as l g
A= s c i . rand ( 1 0 0 , 2 0 0 )
U, S , V= l g . svd ( A )
23/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Librairies d’intégration
i m p o r t s c i p y . i n t e g r a t e as i n t e g
help ( i n t e g )
∂u
Exemple : résolution de (x, t) = −0.5u (x, t)
∂t
def func ( b , t t ) :
r e t u r n −0.5 * b
t t =np . arange ( 0 , T , d t )
b0= s c i . rand ( 4 )
b= i n t e g . o d e i n t ( func , b0 , t t )
24/25 CAO 1
Utilisation de l’interface de développement SPYDER
Scipy
Utilisation basique de python
Matplotlib
Bibliothèques d’analyse numérique
Matplotlib
Affichage de courbes
i m p o r t p y l a b as py
x= s c i . l i n s p a c e ( 0 , 1 , 1 1 )
py . f i g u r e ( )
py . t i t l e ( " s i n 2 $ \ p i $ x " )
py . p l o t ( x , s c i . s i n ( 2 * s c i . p i * x ) , ’ k ’ )
py . f i g u r e ( )
py . t i t l e ( " cos 2 $ \ p i $ x " )
py . p l o t ( x , s c i . cos ( 2 * s c i . p i * x ) , ’ r 0 ’ ) )
py . show ( )
25/25 CAO 1