类 BesselJ
java.lang.Object
org.hipparchus.special.BesselJ
- 所有已实现的接口:
-
UnivariateFunction
该类提供与第一类贝塞尔函数相关的计算方法。这些函数的详细描述可在Wikipedia,Abramowitz and Stegun(第9-11章)和DLMF(第10章)中找到。
“关于反向递归算法的注记”,Olver, F. W. J.和Sookne, D. J.,Math. Comp. 26, 1972, pp 941-947。
“实参数和整数阶的贝塞尔函数”,Sookne, D. J.,NBS Jour. of Res. B. 77B, 1973, pp 125-132。
此实现基于Netlib上的rjbesl Fortran例程。
根据Fortran代码:
该程序基于David J. Sookne编写的一个程序(2),用于计算实参数和整数阶的贝塞尔函数J或I的值。修改包括将计算限制为非负实参数的J贝塞尔函数,将计算扩展到任意正阶,并消除大部分下溢。
参考文献:
-
嵌套类概要
-
构造器概要
-
方法概要
修饰符和类型方法说明static BesselJ.BesselJResult
rjBesl
(double x, double alpha, int nb) 计算非负参数x和非负阶n + alpha的贝塞尔函数\(J_{n+alpha}(x)\)。double
value
(double x) 返回传递参数的构造贝塞尔函数的值。static double
value
(double order, double x) 返回第一个贝塞尔函数,\(J_{order}(x)\)。
-
构造器详细资料
-
BesselJ
public BesselJ(double order) 使用给定的阶数创建一个新的BesselJ。- 参数:
-
order
- 在使用value(double)
时计算的函数阶数。
-
-
方法详细资料
-
value
返回传递参数的构造贝塞尔函数的值。- 指定者:
-
value
在接口中UnivariateFunction
- 参数:
-
x
- 参数 - 返回:
- x处贝塞尔函数的值
- 抛出:
-
MathIllegalArgumentException
- 如果x
相对于order
太大 -
MathIllegalStateException
- 如果算法无法收敛
-
value
public static double value(double order, double x) throws MathIllegalArgumentException, MathIllegalStateException 返回第一个贝塞尔函数,\(J_{order}(x)\)。- 参数:
-
order
- 贝塞尔函数的阶数 -
x
- 参数 - 返回:
- 第一类贝塞尔函数\(J_{order}(x)\)的值
- 抛出:
-
MathIllegalArgumentException
- 如果x
相对于order
太大 -
MathIllegalStateException
- 如果算法无法收敛
-
rjBesl
计算非负参数x和非负阶n + alpha的贝塞尔函数\(J_{n+alpha}(x)\)。在使用输出向量之前,用户应检查nVals = nb,即所有阶数都已按所需精度计算。有关返回值的详细信息,请参阅BesselResult类的javadoc。
- 参数:
-
x
- 要计算J的非负实参数 -
alpha
- 要计算J或指数缩放J(\(J\cdot e^{x}\))的分数阶。0 <= alpha < 1.0。 -
nb
- 要计算的函数数量,nb > 0。计算的第一个函数是阶数alpha,最后一个是阶数nb - 1 + alpha。 - 返回:
- BesselJResult一个包含函数\(J_{alpha}(x)\)到\(J_{nb-1+alpha}(x)\)或相应指数缩放函数的向量,以及一个整数输出变量,指示可能的错误
-