J'ai une liste de très petites valeurs exponentielles (par exemple exp(n)
, avec n<-300
), qui sont générées à partir de PDF gaussiens.Problèmes numériques de calcul des nombres exponentiels (à partir de PDF gaussiens)
Je veux calculer combien chacun d'entre eux est proportionnelle à la somme, par exemple comme le pseudo-code python comme suit fait:
s = 0 # sum of all values
for n in exponents:
s += exp(n)
for n in exponents:
k = exp(n)/s # I want to compute k for each n
Le problème est, puisque les valeurs de n
sont très petit, la sommation s
s'avère parfois nulle, et j'obtiendrai l'erreur de division par zéro.
Je sais qu'une chose que je peux faire est d'ajouter une valeur constante (disons 300) à tous n
pour éviter les débordements, mais cela entraînera un débordement dans d'autres cas.
Comment puis-je résoudre ce problème?
Je ne sais pas si je me suis exprimé clairement, si l'un de ceux-ci n'a pas de sens ou d'erreurs de grammaire, s'il vous plaît corrigez-moi. Merci d'avance.