透過 MCP 連接 →

輸入計算

Both inputs are dimensionless real numbers. For non-integer order, use x ≥ 0.

數學公式

廣告

結果

Struve Function Hv(x)
0.568656627
無因次
計算方法 冪級數定義(蘭佐斯伽瑪近似)
注意事項 Accuracy reduces for large |x|; use x ≥ 0 for non-integer order.

什麼是斯特魯夫函數?

斯特魯夫函數記為 \(H_{v}(x)\),是數學物理中經常出現的一類特殊函數,以天文學家赫爾曼·斯特魯夫(Hermann Struve)命名。它是非齊次貝索(Bessel)微分方程的一個特解,自然地出現在聲學(振動活塞的輻射)、流體力學、電磁學以及非定常空氣動力學等領域。本計算器可針對任意實數階 v 與引數 x 求出 \(H_{v}(x)\) 的值。

若干階斯特魯夫函數曲線的圖像,顯示衰減振盪
斯特魯夫函數 H_v(x) 先上升,然後以緩慢衰減的振幅振盪。

計算公式

斯特魯夫函數由以下收斂冪級數定義:

$$\mathbf{H}_{\text{v}}\!\left(\text{x}\right) = \sum_{k=0}^{\infty} \frac{(-1)^{k}}{\Gamma\!\left(k+\frac{3}{2}\right)\,\Gamma\!\left(k+\text{v}+\frac{3}{2}\right)} \left(\frac{\text{x}}{2}\right)^{2k+\text{v}+1}$$

其中 \(\Gamma\) 為伽瑪(Gamma)函數。此級數對所有實數 \(x\) 皆收斂,不過當 \(|x|\) 很大時需要的項數會非常多,此時改用漸近展開式會更有效率。本工具直接逐項求和,並以蘭佐斯(Lanczos)近似計算伽瑪因子,同時採用穩定的逐項比值遞推法以避免數值溢位。

Advertisement
各項逐漸變小並收斂到某個值的交錯冪級數示意圖
H_v(x) 透過關於 k 的收斂交錯冪級數求值。

使用方式

輸入階數 v(任意實數)與引數 x。若階數非整數,請保持 \(x \ge 0\),因為當 \(x\) 為負時 \((x/2)^{v+1}\) 會變成複數。按下計算即可得出 \(H_{v}(x)\)。兩個輸入值皆為無因次的純數值。

實例演算

以預設值 \(v = 0\)、\(x = 1\) 為例。此時 \(\text{half} = 0.5\)、\(\text{half}^2 = 0.25\),前置因子 \((x/2)^{v+1} = 0.5\)。級數前幾項分別為 \(1.273239545\)、\(-0.141471061\)、\(0.005658842\)、\(-0.000115487\)、…,加總約為 \(1.137313265\)。再乘上前置因子 \(0.5\),即得 \(H_{0}(1) \approx 0.5686566\),與已知的高精度值 \(0.56865663339780\) 相符。

常見問題

v 可以是負數或分數嗎? 可以。此級數對任意實數 \(v\) 皆有效,唯一例外是當 \(v + 3/2\) 為非正整數時(即 \(v = -1.5\)、\(-2.5\)、…);此時伽瑪倒數會使對應的項自動歸零,計算器已自動處理這種情況。

當 x = 0 時會如何? 當 \(v > -1\) 時,由於前置因子 \((x/2)^{v+1}\) 為零,整個函數值即為 \(0\),計算器會回傳 \(0\)。

對於大數值 x 是否準確? 當 \(|x|\) 約超過 30 時,冪級數會因項與項之間的相互抵消而損失精度。對於非常大的引數,採用漸近展開式能得到更佳的結果。

最後更新: