Bonjour,

Mon premier post sur ce forum !

J'ai observé un problème dans une macro excel :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
 
Sub Test()
 
Randomize
 
 
Dim a As Double
Dim b As Double
Dim g As Double
 
Dim i As Integer
 
For i = 1 To 5000
 
a = Rnd()
b = Rnd()
 
g = Sqr(0.1) * Sqr(-2 * Log(a)) * Cos(2 * WorksheetFunction.Pi * b)
 
Range("A" & i).Value = g
Range("B" & i).Value = 10 * Exp(g)
 
 
Next
 
End Sub

J'utilise l'algorithme usuel de génération de gaussienne et j'en prend l'exponentielle. Par théorème, la moyenne des exponentielles devrait être l'exponentielle de la moyenne des gaussiennes et donc 1.

Or, en calculant la moyenne des valeurs obtenues sur ma feuille excel, je trouve un résultat systématiquement supérieur à 10. Le plus souvent ~10.5, ce qui me paraît vraiment élevé pour être une simple erreur d'estimation ( surtout avec 5000 tirages).

Alors je me demande à quoi est du mon erreur ? Ma programmation, un arrondi malheureux, une exponentielle douteuse ?

Merci énormément et à bientôt !

Raphaël