這個計算器能做什麼
本工具會運用雙重指數(DE)求積法,對函數 \(f(x)\) 在整條實軸(從負無窮到正無窮)上的定積分進行數值計算。這套方法又稱為 tanh-sinh 系列,或高橋-森(Takahasi-Mori)法。對於平滑的被積函數而言,DE 求積法是效率最高的通用方案之一,收斂速度快得驚人:正確位數會隨取樣點數量幾乎呈線性成長。
使用方法
請以 x 為變數,搭配運算子 + - * / ^、括號,以及常見函數如 exp、log/ln、sin、cos、tan、sqrt、abs 與 atan,輸入 f(x) 的數學運算式。接著選擇所需的有效位數(6 至 50 位)。精度越高,步長越細、截斷範圍也越寬。被積函數在實軸上應為解析函數,且必須隨 x 增大而衰減;不可為週期函數,也不可在不衰減的情況下持續振盪。
公式說明
DE 法採用變數代換 \(x = \sinh\!\left(\tfrac{\pi}{2}\sinh t\right)\),其導數為 \(\phi'(t) = \tfrac{\pi}{2}\cosh t\,\cosh\!\left(\tfrac{\pi}{2}\sinh t\right)\)。代換後,積分便轉換為對 \(f(\phi(t))\,\phi'(t)\) 關於 t 的積分。由於 \(\phi'(t)\) 在 |t| 增大時以雙重指數的速度衰減,因此採用等距步長 h 的簡單梯形法則 $$I \approx h \cdot \sum f(\phi(kh))\,\phi'(kh)$$ 就能達到極高的精確度。整體的求積公式為 $$\int_{-\infty}^{\infty} f(x)\,dx \;\approx\; h\sum_{k=-N}^{N} f\!\left(x_k\right)\, w_k$$ $$\text{where}\quad \left\{ \begin{aligned} x_k &= \sinh\!\left(\tfrac{\pi}{2}\sinh(kh)\right) \\ w_k &= \tfrac{\pi}{2}\cosh(kh)\,\cosh\!\left(\tfrac{\pi}{2}\sinh(kh)\right) \\ h,N &= \text{chosen for } \text{digits} \text{ precision} \end{aligned} \right.$$ 計算器會先以較粗的步長起算,再反覆將 h 減半(並重複利用既有節點),直到連續兩次估計值符合所要求的容許誤差為止。
實例演算
以 \(f(x) = 1/(1+x^2)\) 為例,其精確積分為 \([\arctan x]\) 從負無窮到正無窮 \(= \pi \approx 3.14159265358979\)。在節點 \(k = -8..8\)、步長為 \(0.5\) 的粗略 DE 求和下,結果已約為 \(3.15\);只要進一步細化步長,就會收斂至 pi 的完整精度值。同樣地,\(\exp(-x^2)\) 會得出 \(\sqrt{\pi} \approx 1.77245385090552\)。
常見問題
為什麼會顯示「未收斂」?最常見的原因是積分本身發散(被積函數不衰減,例如 \(f = 1\)),或函數具週期性/振盪性。DE 求積法假設被積函數為非週期、且在端點處解析的函數。
精度該選多少?15 位對應雙精度浮點數,是不錯的預設值。若要求遠超過雙精度所能支援的位數,並不會讓答案更準確。
可以對奇異函數積分嗎?由於極端節點的權重會被壓到趨近於零,本方法能容忍端點處的特殊行為;但若實軸內部存在極點,計算就會失效。