Numeric tools
Ensemble de modules utiles au traitement numérique et mathématique
Module math
Comprend les fonctions mathématiques de base, et 2 flottants: pi et e
[1]:
import math
# Exponentielle
print(math.exp(5))
print(math.exp(5) == math.exp(2)*math.exp(3))
148.4131591025766
True
[2]:
# Log
print(math.log(10))
print(math.log(10,10))
2.302585092994046
1.0
[3]:
# Trigonométrie
t=math.tan(math.pi/6)
print(t)
print(math.atan(t) == math.pi/6)
0.5773502691896257
True
Module cmath
Etant le domaine de validité des fonctions du module math aux nombres complexes
[4]:
import cmath
[5]:
# Python admet un type de données 'complex'
complex1 = complex(0.,1.)
print(complex1)
type(complex1)
1j
[5]:
complex
[6]:
# Un entier/flottant accompagné de la lettre 'j' est automatiquement interprété comme un nombre complexe
complex2 = -5+18j
type(complex2)
[6]:
complex
[7]:
# Les parties réelle et imaginaire sont accessibles séparément
print(complex2.real)
print(complex2.imag)
-5.0
18.0
[8]:
# L'arithmétique de base est prise en charge nativement
print(complex1 + complex2)
print(complex1 * complex2)
(-5+19j)
(-18-5j)
[9]:
# cmath permet de traiter les onctions complexes
print(cmath.exp(complex1))
print(cmath.log(complex2))
(0.5403023058681398+0.8414709848078965j)
(2.9275359611012135+1.8417431771333173j)
Module random
Traite les nombres aléatoires
[10]:
import random
[11]:
# Génère des flottants selon une certaines distribution statistique
uniforme = [random.uniform(0,1) for i in range(5)]
normale = [random.gauss(0,1) for i in range(5)]
print(uniforme)
print(normale)
[0.13484883369952094, 0.9020293810800457, 0.7848925714114228, 0.19127230774902915, 0.8887251865365928]
[-0.9301816284842389, 0.422877012978363, 0.8100489451767664, 0.512158683146731, -1.8614993820726016]
[12]:
# Traitement de séquences
echantillon = ['Python','C++','Java','Ruby']
print(random.choice(echantillon))
random.shuffle(echantillon)
print(echantillon)
Python
['Python', 'Ruby', 'C++', 'Java']