1
OUVERTURE VERS L’ANALYSE NUM´
ERIQUE
AVEC PROGRAMMATION EN LANGAGE Python
Licence 3 Physique Chimie
`a l’Universit´e Joseph Fourier (Grenoble I)
Derni`ere mise `a jour: November 13, 2010
Logo de Python des 1990s jusqu’`a 2005.
Logo actuel de Python.
Les pythons de Burma ne sont pas petits (photo du journal Reptiles, d´ecembre 1996).
2
Contents
1 Notes de Cours: Introduction `a Python 7
1.1 Comment penser comme un informaticien . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.1.1 Langages intepret´es et langages compil´es . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.1.2 D´eboguage . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
1.2 Qu’a-t-il de sp´ecial concernant Python? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.3 Premiers pas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.3.1 Manipulation des entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.3.2 Typage automatique . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3.3 Manipulation des strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.4 Notion de modules . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.5 Faire des scripts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
1.6 Op´erations de contrˆole . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6.1 if ... elif ... else . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.6.2 for ... in range(...) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
1.6.3 while ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1.6.4 try ... except ... . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
1.7 Un programme un peu nontrivial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
1.8 Lire et ´ecrire `a partir des fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
1.8.1 ´
Ecrire dans un fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
1.8.2 Lire le fichier . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
1.9 Graphiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.9.1 Exportation au tableur . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
1.9.2 En utilisant le module pylab . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
1.9.3 Par canvas sur un widget . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
2 Un Mot sur les Comptes Rendus 45
3 Le¸con 1: It´erative ´
Evaluation de la Racine Carr´ee 47
4 Le¸con 2: Solution Approxim´ee d’un Probl`eme de Cin´etique Cons´ecutive 57
5 Le¸con 3: Solution Exacte d’un Probl`eme de Cin´etique Cons´ecutive 65
6 Le¸con 4: ´
Etude d’un Mod`ele de R´eaction Oscillante 73
3
4CONTENTS
7 Le¸con 5: ´
Equation de Schr¨odinger pour un Oscillateur Harmonique Confin´e dans une Boˆıte 85
Preface
Le but de ce document est de fournir un support pour le module “Analyse Num´erique” du L3 Physique Chimie
(Ph Ch). Le vrai but du cours est une ouverture vers les techniques de math´ematiques appliqu´ees aux probl`emes
de math´ematiques, chimie et de physique. Actuellement il est impossible d’aborder ce sujet sans programmation et
le langage Python a ´et´e choisi comme langage de programmation du cours. Il s’agit d’un outil de programmation
gratuit (ou quasiment), relativement facile `a utiliser, mais assez puissant qu’il est de plus en plus utilis´e pour faire
des projets de recherche en chimie physique. Nous ne pouvons pas aborder toute la fonctionalit´e de Python mais
nous allons voir les bases. Non plus, nous n’aborderons mˆeme pas suffisament d’Analyse Num´erique pour qualifier
comme un vrai cours d’introduction. Par contre, au courant de ce module, nous ferons un peu de math´ematique
avec Python, un peu de physique et un peu de chimie, parfois avec tous les trois m´elang´es. Et vous pouvez gouter
le saveur des techiques appliqu´ees aux probl`emes d’inerˆet en Physique Chimie.
Je tiens `a remercier certaines personnes sans les quelles ce cours ne seront pas possibles. J’ai pu beneficier de
l’exp´erience de Vincent FAVRE-NICOLIN qui a enseign´e (et qui enseigne toujours) Python dans la formation M1
Ph Ch. En 2007-2008, Carlos PEREZ DEL VALLE occupait de la bonne fonctionnement de la salle informatique que
nous utilisons et participe aussi avec l’enseignement de Python dans la formation M1 Ph Ch. Ensemble nous trois
avons essay´e d’harmoniser nos cours afin que le cours d’Analyse Num´erique dans la formation M1 Ph Ch deviendra la
suite naturelle de ce cours d’Analyse Num´erique de la formation L3 Ph Ch. Actuellement Julien GARCIA s’occupe
de la bonne fonctionnement de la salle informatique et je remplie le rˆole de repr´esentant de l’UFR de Chimie dans
l’enseignement de Python dans la formation M1 Ph Ch.
Ayant vu la difficult´e de donner un examen dans cette mati`ere, j’avais d´ecid´e avec Chantal GONDRAN, respon-
sable pour l’UFR de Chimie pour la formation M1 Ph Ch, de replacer l’examen avec un projet. Pour que cette id´ee
eussit, il faudra un acc`es plus facile `a Python en dehors des heures de TP. C’est Didier GAUDE qui a demand´e
l’installation de Python sur les machines `a libre service dans la salle 203 de Chimie Enseignement.
En 2007-2008, ebastien MARTIN du CRIP a pass´e (et passe encore) beaucoup d’heures pour nous cr´eer un envi-
ronnement informatique taill´e `a nos besoins qui fonctionne au sein de l’environnement CRIP d´ej`a ´etabli. Actuellement
le CRIP s’occupe de nouveau de notre salle informatique mais S´ebastien Martin s’occupe d’autres choses.
Je tiens ´egalement `a remercier tous les ´etudiants qui m’ont appris des astuces et de qui j’apprennent toujours des
nouvelles choses!
Mark E. Casida
Enseignant du Module Analyse Num´erique
Ann´ees:
2007-2008
2008-2009
5
1 / 98 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !