Python (école d'ingénieur) · Chapitre 8 · Exercice
Générateur aléatoire
Calcul scientifique avec NumPy
Énoncé
Effectuer les opérations suivantes :
- Fixer la graine aléatoire à 42 pour la reproductibilité.
- Générer une matrice de nombres aléatoires uniformes sur .
- Générer un vecteur de 1000 nombres tirés selon une loi normale centrée réduite .
- Calculer la moyenne et l'écart-type de ce vecteur (qui doivent être proches de 0 et 1).
- Générer un tableau d'entiers aléatoires entre 0 et 100 de taille 20.
Corrigé
import numpy as np
# 1. Fixer la graine
np.random.seed(42)
# 2. Matrice uniforme 4x5
mat_unif = np.random.rand(4, 5)
print("Matrice uniforme 4x5 :")
print(mat_unif)
print()
# 3. Vecteur normal 1000 éléments
normaux = np.random.randn(1000)
# 4. Statistiques
print(f"Moyenne (normale) : {np.mean(normaux):.4f}")
print(f"Écart-type (normale) : {np.std(normaux):.4f}")
print()
# 5. Entiers aléatoires entre 0 et 100
entiers = np.random.randint(0, 101, size=20)
print(f"Entiers aléatoires : {entiers}")
print(f"Minimum : {np.min(entiers)}")
print(f"Maximum : {np.max(entiers)}")
print(f"Médiane : {np.median(entiers)}")
L'exécution de ce script affiche :
Matrice uniforme 4x5 :
[[0.37454012 0.95071431 0.73199394 0.59865848 0.15601864]
[0.15599452 0.05808361 0.86617615 0.60111501 0.70807258]
[0.02058449 0.96990985 0.83244264 0.21233911 0.18182497]
[0.18340451 0.30424224 0.52475643 0.43194502 0.29122914]]
Moyenne (normale) : 0.0082
Écart-type (normale) : 0.9934
Entiers aléatoires : [37 28 78 44 66 83 77 80 41 51 70 48 72 43 46 56 98 89 24 10]
Minimum : 10
Maximum : 98
Médiane : 48.5100 % gratuit
La suite du chapitre est sur Adloun
- 7 autres exercices corrigés dans ce chapitre, et 7 à chercher avec le tuteur
- Les 2 QCM du chapitre, le premier sans compte
- Le tuteur, qui guide pas à pas sans donner la réponse
Sans compte : le cours et le premier QCM. Exercices et tuteur : inscription gratuite en 30 secondes, sans carte bancaire.