Utilisation de numpy

Calcul Monte-Carlo de la surface d’un disque

On rappelle que la fonction np.random.rand permet de créer une distribution uniforme de points entre 0 et 1.

  1. Créer des tableaux X et Y de variables uniforméments réparties entre -1 et 1

  2. Evaluer la probabilité que le point de coordonnées (x, y) soit dans le cercle unité ?

  3. En déduire une estimation ed \(\pi\)

  4. De la même façon, évaluer le volume d’une sphère en dimension 13

N = 1000000

X = 2*(np.random.rand(N)-.5)
Y = 2*(np.random.rand(N)-.5)

R = np.sqrt(X**2 + Y**2)
print('Estimation de pi', np.mean(R<1)*4)
Estimation de pi 3.143348
dim = 13

X = 2*(np.random.rand(dim, N)-.5)

R = np.sqrt(np.sum(X**2, axis=0))
print(np.mean(R<1))
0.00011

Calcul de la moyenne

Un tableau numpy contient les notes d’une classe. Chaque ligne correspond à un élève et chaque colone à un examen.

import numpy as np

N_eleves = 35
N_examens = 3

notes = np.random.rand(N_eleves, N_examens)*20
  1. Calculer la moyenne de chaque élève. Calculer la moyenne pour chaque examen.

  2. Calculer la moyenne de chaque élève, sachant que les coeficients pour les 3 examens sont de 1, 3 et 2.

moyenne_eleve = notes.mean(axis=1)
moyenne_exams = notes.mean(axis=0)

print(f'Moyenne eleves : {moyenne_eleve}')
print(f'Moyenne exams : {moyenne_exams}')
Moyenne eleves : [ 4.86475764 13.87157763 16.63133782 12.54131626  7.78354896 14.91060888
 11.49341153  7.40491898  7.7408721  12.83294063  5.19142779  7.16174387
 11.72812901 16.37947513 13.78278386  9.49417344 14.78770611 10.32141726
  7.73516296 12.93635595 12.0172946   6.32059816 14.24920113  7.9846933
  9.34793038  4.97840815  0.93303272 11.61755392  4.74755408  6.75401493
  7.58238456 12.39258674 16.24376983  8.61322578  9.22967243]
Moyenne exams : [10.51405794 10.77392961  8.93534844]
moyenne_ponderee = (notes*np.array([1, 3, 2])[np.newaxis, :]).sum(axis=1)/6
print(f'Moyenne eleves : {moyenne_ponderee}')
Moyenne eleves : [ 4.8469425  14.99684316 17.5957476  13.28084804  7.38128184 14.16213389
 10.37123986  5.34245749  7.19795841 14.43345158  6.1073791   5.54566383
 10.46290838 15.54873099 12.71400994  7.05525354 13.60650382 12.16244485
 10.58650973 14.71984854 13.36255598  4.45639921 14.35210974  9.04184847
 10.33807833  3.32534396  0.65691568 10.95163956  3.27687672  7.73253324
  8.73697947 12.65795077 16.75820541  8.44130762 11.91460335]