2017-01-01 62 views
0

如何計算一個物理測量可以多麼小和多大,使得該應用程序不會招致過度中表示測量爲雙/下溢?計算測量限制在C++曲面擬合應用

E.g.我對距平面的距離進行了一些測量,並且我想將一架飛機安裝到數據集上。我想弄清楚在進行這些測量時,我能從表面離開多遠,以至於應用的結果是正確的。

在我的計劃,我讀測量爲雙類型的3元組,在R3代表點。期望的精度是2個或3個小數位。

不確定從哪裏開始。 。 。

編輯:我不是想抓住溢出;我試圖分析應用程序的限制。

+0

可能的重複:http://stackoverflow.com/questions/15655070/how-to-detect-double-precision-floating-point-overflow-and-underflow – AMA

+0

它不是關於溢出它的錯誤積累 –

回答

0

A double precision floating point number 具有約15位有效數字,幅度可以在1e-3081e308之間。假設從測量基礎到表面的距離估計爲約爲x單位長度,並且表面粗糙度,測量誤差和任何其他不確定度約爲a,長度相同。 (單位的選擇取決於你。)這裏假設xa大很自然。

至少需要滿足以下限制條件。

  • x的數量級小於1e308
  • 數量級a大於約1e-308
  • 比率a/x大於1e-15

我想你可以測量的原始數據存儲有關從月球到地球(3e8米)的距離在儀表的單位,以解決雙精度浮點數頭髮(1e-5米)。

如果你在一個原子層的分辨率檢測在月球上從地球表面光滑,雙精度浮點數的也許15顯著數字將不足以如實地表示測量結果。但是,如果測量裝置具有更顯著數字本身,可以存儲的平均值(或典型的)中的一個在其它浮點數距離d浮點數,並存儲所測量的距離的差x-d從平均爲各個測量。