underflow

    15熱度

    4回答

    與非常小的數字處理我需要計算非常小的數如 (0.1)的列表^ 1000,0.2 ^(1200), ,然後歸一化,以便它們將總結長達一 即 A1 = 0.1^1000, A2 = 0.2^1200 我想要計算 A1' = A1 /(A1 + A2), A2' = A2(A1 + a2)。 我遇到了下溢問題,因爲我得到a1 = 0。我怎樣才能解決這個問題?理論上我可以處理日誌,然後log(a1)= 1

    2熱度

    4回答

    我正在寫一段代碼來防止上溢/下溢。在此之前,我嘗試: ushort a = 0; //ushort.MinValue a -= 1; //returns 65535 (ushort.MaxValue) 然後我寫了真正的代碼,我希望這對「失敗」(無法檢測下溢): ushort oldValue, rate, delta; ushort newValue = Math.Max(ushort.M

    0熱度

    1回答

    我正在嘗試實現3-4-5-6樹。如果合併導致根只有一個鍵(下溢),並且其子項的鍵數大於5(因此如果全部合併在一起,會發生下溢),會發生什麼情況?

    2熱度

    1回答

    爲什麼只有在除數遠小於股息的情況下才會導致除數下溢,不管股息的大小如何,在分母近於零的任何時候都不應該發生除數下溢?

    5熱度

    1回答

    我正在執行HMM的正向算法來計算給定HMM發射給定觀察序列的概率。我希望我的算法對下溢很有效。我不能在對數空間中工作,因爲前向算法需要概率的乘法和加法。什麼是避免下溢的最佳方法? 我已經閱讀了一些關於這方面的資料,但我得到的最好建議是在每個時間步長Section 6 Here處縮放概率。算法結束時,您不會留下您想要的確切概率(觀察序列)。另外,除非我弄錯了,如果按照上述參考文獻中提出的方法在每個時

    1熱度

    1回答

    我遇到了一個問題,我爲我的算法陷入了一些下溢問題。 我基本上是從貝塞爾曲線中取出一條路徑,爲了處理這個問題,我必須使用一些向量乘法(交叉和點積),以使兩個向量之間的角度和時鐘 - 逆時針方向從一個到另一個一。 問題是,當路徑是直線時,其中一個控制變量存在下溢問題,基本上阻塞執行並導致錯誤。 下面是代碼: void BezierInterp() { NumOfSetpoints = 10;

    3熱度

    3回答

    從概念上講,我需要將每個事件的概率相乘。由於可能涉及很多事件,因此我在計算機上添加了對數以避免下溢。 但突然間,我無法說服自己,我應該初始化返回值爲零,然後纔開始添加。我知道零是加法的標識元素,我記得這是我如何做的,但是,看着graph of the logarithm,我可以清楚地看到零的反對數是負無窮。 因此,將返回值初始化爲零應等於將所有概率乘以負無窮,這絕對不正確。我究竟做錯了什麼?

    4熱度

    1回答

    我面臨在簡單設置中估計獨立變量的聯合概率的問題。目前我有一個100個隨機變量的數組,我想獲得它們的聯合概率,而不會陷入下溢問題。任何想法如何在numpy中實現這個目標?如果可能的話? 如果沒有人可以請進一步解釋我的NumPy例程(logaddexp)的角色,因爲我認爲這可能是在這種情況下對我的幫助。

    1熱度

    5回答

    在Java中我有一個隨機生成器,生成從-2^63到2^63的隨機數,這不是java.util.Random。 我需要生成的(0,1)隨機雙,這是我迄今所做的: return (seed/(double)(9223372036854775807L))/2+0.5;//seed is a random long 這是正確的?有沒有數字問題(下溢?)? 可能會更好/更快? 謝謝。

    2熱度

    2回答

    我有一些MySQL代碼: CREATE TABLE test_table ( id int(11) NOT NULL AUTO_INCREMENT, count int(10) unsigned DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=latin1