Les fonctions mathématiques
Contenus de la section
2-2 Traitements de données
Manipulation de nombres
Temps requis
15 minutes
Les paquets
Python est divisé en paquets. Le langage de base en comporte un certain nombre, mais nous nous retrouvons rapidement limités. Les paquets sont des bouts de code créés par d'autres programmeurs que l'on peut importer dans notre code pour avoir accès à des fonctions supplémentaires.
Voir la page d'installation de paquet pour voir les procédures possibles d'isntallation.
Importer un paquet
Pour importer les fonctionnalités d'un paquet vers notre fichier, il faut utiliser l'instruction #!import
. Cette instruction a différentes variations selon le résultat recherché.
Instruction d'importation
Les instructions pour importer d'autres fichiers sont toujours les premières (avant la déclaration des fonctions).
Pourquoi importer juste une fonction plutôt que toujours tout le contenu du module ?
Pour éviter les collisions de noms. Si deux modules déclarent une fonction de même nom, on peut les distinguer si l'on doit préfixer l'appel du nom du module. Sans cette distinction, Python ne saura laquelle des versions appeler.
La génération aléatoire
Section 2.1
Comme vu dans l'exemple précédent, la génération aléatoire se fait avec le module random
. Trois fonctions sont utilisées pour générer des nombres, soit la fonction randint
pour des nombres entiers et les fonctions random
pour une valeur décimale (float
) et uniform
.
La fonction randint
La fonction randint
retourne un nombre aléatoire entier entre deux bornes incluses.
Paramètre | Type | Description |
---|---|---|
a | Entier | La valeur minimale de l'intervalle de génération |
b | Entier | La valeur minimale de l'intervalle de génération |
Retour | Entier | Un nombre N tel que \(a \leq N \leq b\) |
La fonction random
La fonction random
retourne un nombre aléatoire entre 0 (inclus) et 1 (exclus). Elle n'accepte aucun paramètre.
La fonction uniform
La fonction uniform
retourne un nombre aléatoire avec virgule flottante entre deux bornes incluses.
Paramètre | Type | Description |
---|---|---|
a | Nombre à virgule | La valeur minimale de l'intervalle de génération |
b | Nombre à virgule | La valeur minimale de l'intervalle de génération |
Retour | Nombre à virgule | Un nombre N tel que \(a \leq N \leq b\) |
Lancer un dé
Par exemple, pour simuler le lancer d'un dé à six faces, le code serait le suivant :
La documentation de random
La documentation officielle du paquet random
présente toutes les fonctions de génération aléatoire du paquet.
Les fonctions mathématiques
Section 2.2
Les fonctions mathématiques sont pour leur part définies dans le paquet numpy
.
On y retrouve d'abord les deux constantes universelle \(\pi\) et \(e\).
Constante | Expression | Valeur |
---|---|---|
\(\pi\) | numpy.pi | 3.141592653589793 |
\(e\) | numpy.e | 2.718281828459045 |
L'aire d'un disque
Pour calculer l'aire d'un disque de rayon 2 avec toute la précision possible en Python, on peut utiliser le code suivant :
Le paquet numpy
définit aussi plusieurs fonctions mathématiques usuelles. Elles s'utilisent toutes de la même manière, soit en indiquant le nombre en paramètre sur lequel appliquer la fonction. Le résultat de l'application de la fonction est retourné par la fonction.
Les fonctions disponibles sont les suivantes :
Traitement mathématique | Nom de la fonction | Exemple d'utilisation |
---|---|---|
Racine carrée | sqrt | racine = numpy.sqrt(4) # Retourne 2 |
Exponentielle | exp | puissance = numpy.exp(2) # Équivalent à numpy.e ** 2 |
Logarithme naturel | log | exposant = numpy.log(4) # Équivalent à ln(4) |
Logarithme en base 2 ou 10 | log2 ou log10 | exposant = numpy.log2(8) # Retourne 3 |
Conversion de degres en radians | deg2rad ou radians | rad = numpy.deg2rad(180) # Retourne 3.1415... |
Conversion de radians en degres | rad2deg ou degrees | rad = numpy.rad2deg(numpy.pi) # Retourne 180.0 |
Fonctions trigonométriques (angle en radians) | sin, cos, tan | y = numpy.sin(numpy.pi / 4) # Retourne 0.7071... |
Fonctions trigonométriques inverses (retourne des radians) | arcsin, arccos, arctan | angle = numpy.arccos(.5) # Retourne 1.047... |
Exercices
Page 41 et suivantes
Recommandés : 2.1, 2.3, 2.4, 2.5, 2.6
La documentation de numpy
La documentation officielle du paquet numpy
présente toutes les fonctions mathématiques du paquet.