XL pour MAC Génération de nombres suivant une loi lognormale

Clement345

XLDnaute Nouveau
Bonjour à tous,
Dans le cadre de mon mémoire, je cherche à générer une série de nombres qui suivraient une loi lognormale sur excel ayant pour paramètres une moyenne et 2 bornes.
Exemple : générer une série de nombres avec une une moyenne de x % et ayant des valeurs comprises entre X et Y.
Quelqu'un pourrait m'éclairer ?
Merci,
Clément
 

Dranreb

XLDnaute Barbatruc
Bonsoir.
Des nombres suivant une loi log-normale n'ont pas de borne supérieure.
Cette fonction perso renvoie 1 ou 2 nombres en distribution normale à partir de deux nombre en distribution uniforme 0 à 1 :
VB:
Function DistrN(ByVal Rnd1 As Double, ByVal Rnd2 As Double, ByVal ÉTyp As Double, ParamArray Moy() As Variant) As Variant
   Rnd1 = Sqr(-2 * Log(Rnd1)) * ÉTyp: Rnd2 = Rnd2 * Pi×2
   If UBound(Moy) = 1 Then
   DistrN = Array(Moy(0) + Rnd1 * Cos(Rnd2), Moy(1) + Rnd1 * Sin(Rnd2))
   Else: DistrN = Moy(0) + Rnd1 * Cos(Rnd2): End If
   End Function
En en prenant l'exponentielle vous l'aurez en distribution log-normale.
L'écart type et la moyenne à spécifier sont ceux du logarithme du nombre à produire, non de ce dernier.

Maintenant si vous voulez absolument du borné, j'ai une fonction plus simple n'utilisant qu'un seul Rnd de distribution quasi normale :
VB:
Function DistrQsN(ByVal Rnd0à1 As Double, ByVal Moyenne As Double, ByVal ÉcartType As Double) As Double
   Rem. Distribution quasi normale à part que le nombre engendré ne fuira la moyenne de plus de 4 fois l'écart type
   DistrQsN = (Rnd0à1 ^ 0.18148 - (1 - Rnd0à1) ^ 0.18148) * 4 * ÉcartType + Moyenne
   End Function
Function DistrQsNMnMx(ByVal Rnd0à1 As Double, ByVal Mini As Double, ByVal Maxi As Double) As Double
   DistrQsNMnMx = DistrQsN(Rnd0à1, (Mini + Maxi) / 2, (Maxi - Mini) / 8)
   End Function
Pareil, vous pouvez en prendre une exponentielle.
 
Dernière édition:

Discussions similaires

Réponses
9
Affichages
215

Statistiques des forums

Discussions
312 463
Messages
2 088 625
Membres
103 893
dernier inscrit
FAB59163