如何計算一個物理測量可以多麼小和多大,使得該應用程序不會招致過度中表示測量爲雙/下溢?計算測量限制在C++曲面擬合應用
E.g.我對距平面的距離進行了一些測量,並且我想將一架飛機安裝到數據集上。我想弄清楚在進行這些測量時,我能從表面離開多遠,以至於應用的結果是正確的。
在我的計劃,我讀測量爲雙類型的3元組,在R3代表點。期望的精度是2個或3個小數位。
不確定從哪裏開始。 。 。
編輯:我不是想抓住溢出;我試圖分析應用程序的限制。
如何計算一個物理測量可以多麼小和多大,使得該應用程序不會招致過度中表示測量爲雙/下溢?計算測量限制在C++曲面擬合應用
E.g.我對距平面的距離進行了一些測量,並且我想將一架飛機安裝到數據集上。我想弄清楚在進行這些測量時,我能從表面離開多遠,以至於應用的結果是正確的。
在我的計劃,我讀測量爲雙類型的3元組,在R3代表點。期望的精度是2個或3個小數位。
不確定從哪裏開始。 。 。
編輯:我不是想抓住溢出;我試圖分析應用程序的限制。
A double precision floating point number 具有約15位有效數字,幅度可以在1e-308
到1e308
之間。假設從測量基礎到表面的距離估計爲約爲x
單位長度,並且表面粗糙度,測量誤差和任何其他不確定度約爲a
,長度相同。 (單位的選擇取決於你。)這裏假設x
比a
大很自然。
至少需要滿足以下限制條件。
x
的數量級小於1e308
。a
大於約1e-308
。a/x
大於1e-15
。我想你可以測量的原始數據存儲有關從月球到地球(3e8
米)的距離在儀表的單位,以解決雙精度浮點數頭髮(1e-5
米)。
如果你在一個原子層的分辨率檢測在月球上從地球表面光滑,雙精度浮點數的也許15顯著數字將不足以如實地表示測量結果。但是,如果測量裝置具有更顯著數字本身,可以存儲的平均值(或典型的)中的一個在其它浮點數距離d
浮點數,並存儲所測量的距離的差x-d
從平均爲各個測量。
可能的重複:http://stackoverflow.com/questions/15655070/how-to-detect-double-precision-floating-point-overflow-and-underflow – AMA
它不是關於溢出它的錯誤積累 –