0
我有一個非常小的指數值(例如exp(n)
,與n<-300
),這是從高斯PDF生成的列表。計算指數數字的數值問題(來自高斯PDF)
我想計算出有多少他們每個人是成正比的總和,例如像下面的蟒蛇般的僞代碼所做的:
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
的問題是,因爲n
值都非常小,總和s
有時會變成零,我會得到除零誤差。
我知道我可以做的一件事就是向所有n
添加一個常數值(比如說300)以防止下溢,但在其他情況下會導致溢出。
我該如何解決這個問題?
我不知道我是否清楚地表達了自己,如果其中任何一個都沒有意義或任何語法錯誤,請糾正我。 在此先感謝。