0% ont trouvé ce document utile (0 vote)
16 vues10 pages

Introduction à Python pour le calcul scientifique

Transféré par

louayzaafouri17
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
16 vues10 pages

Introduction à Python pour le calcul scientifique

Transféré par

louayzaafouri17
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOCX, PDF, TXT ou lisez en ligne sur Scribd

TP 1 : Introduction au calcul scientifique avec python

Objectif :
Le but de ce TP est de montrer les bases de la programmation avec Python et ces applications
au calcul scientifique.
Introduction
Il existe un très grand nombre de langages de programmation, chacun a ses avantages et ses
inconvénients. Il faut bien en choisir un. Le langage dominant parmi les langages open-source
est sans conteste C/C++. Ce langage s’impose comme une référence absolue, et tout
informaticien sérieux doit s’y frotter tôt ou tard. Il est malheureusement très rébarbatif et
compliqué, trop proche de la machine. Sa syntaxe est peu lisible et fort contraignante. Python
est un langage portable, dynamique, extensible, gratuit, qui permet (sans l’imposer) une
approche modulaire et orientée objet de la programmation.
Caractéristiques du langage Python
Détaillons un peu les principales caractéristiques de Python, plus précisément, du langage et
de ses deux implantations actuelles :
 Python est portable, non seulement sur les différentes variantes d’Unix, mais aussi sur
les OS propriétaires : Mac OS, BeOS, NeXTStep, MS-DOS et les différentes variantes
deWindows. Un nouveau compilateur, baptisé JPython, est écrit en Java et génère du
bytecode Java.
 Python est gratuit, mais on peut l’utiliser sans restriction dans des projets
commerciaux.
 Python convient aussi bien à des scripts d’une dizaine de lignes qu’à des projets
complexes de plusieurs dizaines de milliers de lignes.
 La syntaxe de Python est très simple et, combinée à des types de données évolués
(listes, dictionnaires...), conduit à des programmes à la fois très compacts et très
lisibles.

Installation Python :
L’installation de Python peut-être un vrai défi. Déjà il faut se décider entre les versions 2.X et
3.X du langage. Et par la suite, choisir les librairies nécessaires (ainsi que les versions
compatibles) pour faire de calcul scientifique. Sans oublier les subtilités liées aux différents
OS (Windows, Linux, Mac…) qui peuvent rendre l’installation encore plus compliqué.
Anaconda est une distribution Python. A son installation, Anaconda installera Python ainsi
qu’une multitude de packages. Cela nous évite de nous ruer dans les problèmes
d’incompatibilités entre les différents packages.
Finalement, Anaconda propose un outil de gestion de packages appelé Conda. Ce dernier
permettra de mettre à jour et installer facilement les librairies dont on aura besoin pour nos
développements.
Téléchargement d’Anaconda
On télécharge Anaconda à la page de téléchargement
[Link]
Prenez la version du binaire qu’il vous faut :
Choisissez le système d’exploitation cible (Windows, Mac, etc…)
Sélectionnez la version 3.X

Installer Anaconda
Double cliquer sur le fichier exécutable pour lancer l’installation.

1
A l’issue de l’installation, vous aurez Anaconda Navigator. Ce dernier est une interface
graphique permettant de lancer Jupyter (pour écrire du python au format notebook), ou
encore Spyder (IDE pour éditer du code python).

Depuis cette plateforme, lancer Spyder.

2
Cet affichage permet de s’assurer que la console est correctement configurée.

Depuis cette interface graphique, il est tout à fait possible de gérer les packages installés. Mais
pour le moment, on utilisera conda : l’invite commande d’Anaconda.
Pour cela, lancez le programme “Anaconda Prompt” depuis le menu démarrer de Windows.

Pour s’assurer de la version de conda, tapez :

3
Ensuite assurez-vous que vous avez Python 3.X bien installé :

Après l’installation d’Anaconda, il est toujours utile de s’assurer qu’on a les dernières
versions des packages qu’on sera amené à utiliser.
 NumPy
 SciPy
 Matplotlib
 Pandas
 Scikit-learn
 Statsmodels

NumPy est une extension du langage de programmation Python, destinée à manipuler


des matrices ou tableaux multidimensionnels ainsi que des fonctions mathématiques opérant
sur ces tableaux. Plus précisément, cette bibliothèque logicielle libre et open source fournit de
multiples fonctions permettant notamment de créer directement un tableau depuis un fichier
ou au contraire de sauvegarder un tableau dans un fichier, et manipuler des vecteurs, matrices
et polynômes.
NumPy est la base de SciPy, regroupement de bibliothèques Python autour du calcul
scientifique.
SciPy est un projet visant à unifier et fédérer un ensemble de bibliothèques Python à usage
scientifique. Scipy utilise les tableaux et matrices du module NumPy.
Cette distribution de modules est destinée à être utilisée avec le langage interprété Python afin
de créer un environnement de travail scientifique très similaire à celui offert par Scilab, GNU
Octave, Matlab .
Il contient par exemple des modules pour l'optimisation, l'algèbre linéaire, les statistiques,
le traitement du signal ou encore le traitement d'images.
Matplotlib est une bibliothèque du langage de programmation Python destinée à tracer et
visualiser des données sous formes de graphiques5. Elle peut être combinée avec les

4
bibliothèques python de calcul scientifique NumPy et SciPy6. Matplotlib est distribuée
librement et gratuitement sous une licence de style BSD4. Sa version stable actuelle (la 2.0.1
en 2017) est compatible avec la version 3 de Python.
Introduction du langage python
Python présente la particularité de pouvoir être utilisé de plusieurs manières différentes. Vous
allez d’abord l’utiliser en mode interactif, c’est-à-dire d’une manière telle que vous pourrez
dialoguer avec lui directement depuis le clavier. Cela vous permettra de découvrir très vite un
grand nombre de fonctionnalités du langage. Dans un second temps, vous apprendrez
comment créer vos premiers programmes (scripts) et les sauvegarder sur disque.
L’interpréteur peut être lancé directement depuis la ligne de commande (dans un « shell »
Linux, ou bien dans une fenêtre DOS sous Windows) : il suffit d’y taper la commande
"python" (en supposant que le logiciel lui-même ait été correctement installé).
Les trois caractères « supérieur à » constituent le signal d’invite, ou prompt principal, lequel
vous indique que Python est prêt à exécuter une commande.

Vous pouvez alors taper des commandes directement.


1. Les nombres et les opérations mathématiques de base en python
Les opérateurs traitant les données de types numériques comprennent des opérateurs
arithmétiques standards, comme illustré dans le tableau ci-dessous. Les opérandes sont les
valeurs exploitées par un opérateur.

Les nombres complexes sont représentés avec l’aide d’unité imaginaire j.


Par exemple :
>>> 5+1j
(5+1j)
>>> a=5+1j
>>> print(a)
(5+1j)
>>> print(a**2)
(24+10j)

#les opérations de comparaison


print(x>=y)

5
print(x<=y)
print(x==y)
print(x!=y)

#les opérations logiques


print('and',False&True)#and
print('or',False|True)#or
print('xor',False^True)#xor

2. Opérateurs d’affectation
L’opérateur d’affectation simple Python « = ». Cet opérateur permet d’affecter ou d’assigner
une valeur à une variable. Python reconnait également des opérateurs d’affectation qu’on
appelle “composés”, comme illustré dans le tableau ci-dessous.

Exemple :
>>> x=1
>>> x=x+1
>>> x+=1
>>> x*=2
>>> print(x)
6

3. Conversion
Le lien suivant dispose d’un certain nombre de fonctions et de types intégrés qui sont
toujours disponibles. Ils sont énumérés ici par ordre alphabétique.
Built-in Functions — Python 3.12.1 documentation
Conversion binaire : >> bin(15)
Conversion octale :>>oct(15)
Conversion hexadécimale : >>hex(15)
Conversion d’un entier (int) en chaine de caractère (str) :
>> x=10
>> type(x) #donner le type de la variable x
>>str(x)
>>type(x)
Conversion d’une chaine de caractère (str) en entier (int):

6
>>y=’20’
>>type(y)
>>int(y)
Conversion d’une chaine de caractère en variable dynamique (format)
Exemple
>>x=25
>>ville =’Paris’
>>message = ‘La température est de x degC à ville’
>>print(message)
On remplace x et ville par{}
>>message = ‘La température est de {} degC à {}’.format(x,ville)

4. Opérations mathématiques supplémentaires


Pour effectuer des opérations mathématiques plus complexes nous devons utiliser quelques
fonctions supplémentaires. Pour accomplir cela, nous devons "importer" la bibliothèque avec
les fonctions scientifiques appelée "NumPy".
>>> import numpy as np
Dorénavant, pour accéder aux fonctions définies par NumPy nous devons ajouter le préfixe
np, comme par exemple :
>>> [Link](3)
0.14112000805986721
Voici quelques fonctions mathématiques présentes dans NumPy :
>>> [Link]
rad2deg(), deg2rad() - conversion de radians en dégrées et vice versa. Notez bien, que partout
en Python les angles sont donnés en radians.
>>> np.deg2rad(180)
>>> np.rad2deg([Link])
abs() - la valeur absolue.
>>> [Link](23)
>>> [Link](-23)
>>> [Link](1+1j)
angle() - l’angle d’un numéro complexe.
>>> [Link](23)
>>> [Link](-3)
>>> [Link](1+1j)
cos(), sin(), tan() - les fonctions trigonométriques de base.
>>> [Link]([Link])
>>> [Link]( np.deg2rad(45) )
>>> [Link]( [Link]/4 )
arccos(), arcsin(), arctan() - les fonctions inverses de cos, sin et tan.
>>> x= [Link]([Link])
>>> [Link](x)
ceil(), floor(), round() - arrondir une valeur.
>>> [Link](3.01) # arrondi au plus petit entier supérieur
>>> [Link](3.99) # arrondi au plus grand entier inférieur
>>> [Link](3.49) # arrondi au plusproche
>>> [Link](3.50) # arrondi au plusproche
conj() - la valeur conjugué d’un nombre complexe.
>>> [Link](5)

7
Ceux sont juste quelques exemples des fonctions définies par NumPy. Pour voir la liste
complète de fonctions, utilisez la fonction dir :
>>> dir(np) # Affiche la liste avec toutes les fonctions définies par np.

5. Opérations :fonction Lambda

Python permet une syntaxe intéressante qui vous laisse définir des mini-fonctions d’une ligne
à la volée. Empruntées à Lisp, ces fonctions dites lambda peuvent être employées partout où
une fonction est nécessaire.

Exemple :
>>f1=lambda x:2*x+3*[Link](1)
>>print(f1(1))
Créer la fonction suivante :
2 x+3 π z
F2=e . sin ( 2 y ) + arctan( )
3 log ( 5 )

Fonction def :

Une fonction est une suite d’instructions qu’on peut l’appeler par son nom.
Pour définir une fonction, Python utilise le mot-clé def. Si on souhaite que la fonction renvoie
quelque chose, il faut utiliser le mot-clé return.

8
Exemple : calculer l’énergie potentiel d’un système à travers une fonction sous python
>> def Energie_potentiel(masse,hauteur,g):
>> Ep=masse*hauteur*g
>> print(' Energie_potentiel =',Ep,'joules')
>> return Ep
>>Energie_potentiel(masse=100,hauteur=1.34,g=9.8)

Remarque : l’instruction return définit ce que doit être la valeur renvoyée par la fonction.

Exercice 1
[Link]éer une fonction Energie cinétique puis Energie totale ?

Exercice 2
Le programme suivant permet de connaître le nombre de minutes et secondes d’une quantité
de temps en secondes. Par exemple, 500 secondes contiennent 8 minutes et 20 secondes.
2. # Demander à l'utilisateur de saisir un nombre de secondes
Créer un script par la fonction def qui va convertir un nbre en minutes et secondes
Créer un script par la fonction def qui va convertir un nbre en heures, minutes et secondes

Exercice 3
1. Énoncé
o Écrire une fonction cube qui retourne le cube de son argument.
o Écrire une fonction volumeSphere qui calcule le volume d’une sphère de rayon r fourni en
argument et qui utilise la fonction cube.
o Tester la fonction volumeSphere par un appel dans le programme principal.

2. Rappel

9
Le volume de l’espace délimité par une sphère (on parle alors du volume de la boule) est égal à
3
4π R
4/3 multiplié par π et par son rayon R au cube.
3

10

Vous aimerez peut-être aussi