免费贝塞尔函数计算器

[-99, 99]
[-20, 20]

输入 ν 和 x 计算贝塞尔函数值

贝塞尔函数是贝塞尔微分方程的解,这是一个出现在物理和工程许多领域的二阶线性常微分方程,从波传播到热传导。贝塞尔函数计算器是一个在线工具,用于计算实数阶 ν\nu 和自变量 xx(可为实数或复数)的 Jν(x)J_\nu(x)(第一类)和 Yν(x)Y_\nu(x)(第二类)。当 xx 为实数时,该工具还会生成贝塞尔函数图,直观展示函数的性质。

贝塞尔微分方程

贝塞尔方程写作

x2d2ydx2+xdydx+(x2−ν2)y=0,x^2 \frac{d^2 y}{dx^2} + x \frac{dy}{dx} + (x^2 - \nu^2) y = 0,

其中 ν\nu(阶数)是一个常数。这是一个二阶常微分方程,它的两个线性无关解是第一类和第二类贝塞尔函数,记为 Jν(x)J_\nu(x) 和 Yν(x)Y_\nu(x);它们统称为柱函数。

第一类贝塞尔函数

第一类函数 Jν(x)J_\nu(x) 由幂级数定义

Jν(x)=∑k=0∞(−1)kk! Γ(ν+k+1)(x2)ν+2k,J_\nu(x) = \sum_{k=0}^{\infty} \frac{(-1)^k}{k! \, \Gamma(\nu + k + 1)} \left( \frac{x}{2} \right)^{\nu + 2k},

其中 Γ(z)\Gamma(z) 是 Gamma 函数(阶乘在非整数上的推广)。对于非整数 ν\nu,函数 Jν(x)J_\nu(x) 和 J−ν(x)J_{-\nu}(x) 是独立的;对于整数阶 ν=n\nu = n,有

J−n(x)=(−1)nJn(x).J_{-n}(x) = (-1)^n J_n(x).

在实际中,该级数在适度数量的项后收敛,使得数值计算变得直截了当。

第二类贝塞尔函数

第二类函数 Yν(x)Y_\nu(x)(也记作 Nν(x)N_\nu(x))是分段定义的,因为整数阶和非整数阶的公式不同。

非整数 ν\nu

对于 ν∉Z\nu \notin \mathbb{Z},

Yν(x)=Jν(x)cos⁡(νπ)−J−ν(x)sin⁡(νπ).Y_\nu(x) = \frac{J_\nu(x) \cos(\nu\pi) - J_{-\nu}(x)}{\sin(\nu\pi)}.

这个组合提供了与 Jν(x)J_\nu(x) 线性无关的第二个独立解。

整数 ν=n\nu = n

当阶数为整数时,上述表达式变得不确定。正确形式通过取极限 ν→n\nu \to n 得到:

Yn(x)=  2πJn(x)ln⁡x2−1π∑k=0n−1(n−k−1)!k!(x2)2k−n−1π∑k=0∞(−1)kk!(n+k)!(x2)n+2k[ψ(k+1)+ψ(n+k+1)],\begin{aligned} Y_n(x) = &\; \frac{2}{\pi} J_n(x) \ln\frac{x}{2} \\ &- \frac{1}{\pi} \sum_{k=0}^{n-1} \frac{(n-k-1)!}{k!} \left(\frac{x}{2}\right)^{2k-n} \\ &- \frac{1}{\pi} \sum_{k=0}^{\infty} \frac{(-1)^k}{k! (n+k)!} \left(\frac{x}{2}\right)^{n+2k} \bigl[ \psi(k+1) + \psi(n+k+1) \bigr], \end{aligned}

其中 ψ(z)\psi(z) 是 digamma 函数(Γ(z)\Gamma(z) 的对数导数)。对于非负整数

ψ(n)=Hn−1−γ,\psi(n) = H_{n-1} - \gamma,

其中 Hn−1H_{n-1} 是第 n−1n-1 个调和数,γ≈0.57721\gamma \approx 0.57721 是欧拉-马斯刻若尼常数。对于负整数,可利用对称性 Y−n(x)=(−1)nYn(x)Y_{-n}(x) = (-1)^n Y_n(x)。

汉克尔函数

第三类贝塞尔函数,即汉克尔函数,是 JνJ_\nu 和 YνY_\nu 的线性组合:

Hν(1)(x)=Jν(x)+iYν(x),Hν(2)(x)=Jν(x)−iYν(x),H_\nu^{(1)}(x) = J_\nu(x) + i Y_\nu(x), \qquad H_\nu^{(2)}(x) = J_\nu(x) - i Y_\nu(x),

其中 i=−1i = \sqrt{-1}。它们特别适用于描述向外和向内传播的波。

递推关系

所有柱函数(CνC_\nu 表示 JνJ_\nu 或 YνY_\nu)满足递推关系

Cν−1(x)+Cν+1(x)=2νxCν(x),C_{\nu-1}(x) + C_{\nu+1}(x) = \frac{2\nu}{x} C_\nu(x), Cν−1(x)−Cν+1(x)=2Cν′(x),C_{\nu-1}(x) - C_{\nu+1}(x) = 2 C'_\nu(x),

其中撇号表示对 xx 的导数。这些恒等式允许在不重新计算级数的情况下快速计算导数或相邻阶数的值。

使用此计算器

要获取贝塞尔函数值,请输入阶数 ν\nu(实数)和点 xx(实数或复数)。计算器同时返回 Jν(x)J_\nu(x)、Yν(x)Y_\nu(x) 以及两个汉克尔函数 Hν(1)(x)H_\nu^{(1)}(x)、Hν(2)(x)H_\nu^{(2)}(x)。如果 xx 为实数,该工具还会显示第一类和第二类的贝塞尔函数图。

为了快速精确地计算:

  • 阶数 ν\nu 必须在 [−99,99][-99, 99] 内。
  • xx 的实部必须在 [−20,20][-20, 20] 内(虚部不限)。
  • 超出这些范围,计算可能会变慢或精度降低;对于这种情况,建议使用专门的算法。

此贝塞尔函数计算器提供了一种便捷方式,可在线计算 Jν(x)J_\nu(x) 和 Yν(x)Y_\nu(x) 值,并附带图表以便直观理解。

常见问题

1. 计算器支持哪些范围的阶数 ν 和自变量 x?

阶数 ν 必须是 [−99, 99] 内的实数。自变量 x 可以为实数或复数,但其实部必须在 [−20, 20] 内以保持精度。当 x 为实数时,工具还会生成图。

2. 对于整数阶,Y_ν(x) 是如何定义的?

对于整数 ν = n,Y_n(x) 作为非整数公式的极限 ν→n 得到。结果表达式包含一个与 J_n(x) 相关的对数项、有限求和以及包含 digamma 函数 ψ 的无穷级数。digamma 简化为 ψ(n) = H_{n-1} - γ。

3. 计算器可以计算汉克尔函数吗?

是的,除了 J_ν(x) 和 Y_ν(x),计算器还返回汉克尔函数 H_ν^{(1)}(x) 和 H_ν^{(2)}(x),定义为 J_ν(x) ± i Y_ν(x)。

4. 递推关系有什么用途?

递推关系可用于关联不同阶数的贝塞尔函数或计算导数。例如,C_{ν-1}(x) + C_{ν+1}(x) = (2ν/x) C_ν(x) 和 C_{ν-1}(x) - C_{ν+1}(x) = 2 C'_ν(x)。

使用方法

  1. 选择贝塞尔函数类型:第一类 (J_ν)、第二类 (Y_ν) 或两者。
  2. 输入阶数 ν 和自变量 x(实数)。阶数 ν 必须在 -99 到 99 之间,x 在 -20 到 20 之间以获得最佳精度。
  3. 即时查看贝塞尔函数值。可选择启用图表以可视化函数。