std::cyl_bessel_jl
STD::cyl[医]贝塞尔[医]J,STD::cyl[医]贝塞尔[医]JF,STD::cyl[医]贝塞尔[医]JL
double cyl_bessel_j( double ν, double x float cyl_bessel_jf( float ν, float x long double cyl_bessel_jl( long double ν, long double x | (1) | (since C++17) |
---|---|---|
Promoted cyl_bessel_j( Arithmetic ν, Arithmetic x | (2) | (since C++17) |
1%29计算第一类圆柱贝塞尔函数成ν
和x
...
2%29一组重载或函数模板,用于%281%29中未涵盖的所有算术类型的参数组合。如果有任何争论积分型,它被铸造成double
.如果有任何争论long double
,则返回类型Promoted
也是long double
,否则返回类型总是double
...
参数
ν | - | the order of the function |
---|---|---|
x | - | the argument of the function) |
返回值
如果没有误差,则第一类圆柱贝塞尔函数的值ν
和x
,那是J
ν%28x%29=Σ∞
K=0
%28-1%29k%28x/2%29ν+2k
*。
K%21Γ%28ν+k+1%29
对于x≥0%29,返回%28。
错误处理
错误可以按数学[医]错误处理...
- 如果参数为nan,则返回nan,并且不报告域错误。
- 如果ν>=128,则行为是实现定义的。
注记
不支持C++17但支持的实现ISO 29124:2010,则提供此功能__STDCPP_MATH_SPEC_FUNCS__
由实现定义为值至少为201003L,且用户定义__STDCPP_WANT_MATH_SPEC_FUNCS__
在包含任何标准库头之前。
不支持iso 29124:2010但支持tr 19768:2007%28TR1%29的实现,在标头中提供此功能。tr1/cmath
和命名空间std::tr1
...
此功能的实现也是可以在中学里找到。...
例
二次
#include <cmath>
#include <iostream>
int main()
{
// spot check for ν == 0
double x = 1.2345;
std::cout << "J_0(" << x << ") = " << std::cyl_bessel_j(0, x) << '\n';
// series expansion for J_0
double fct = 1;
double sum = 0;
for(int k = 0; k < 6; fct*=++k) {
sum += std::pow(-1, k)*std::pow((x/2),2*k) / std::pow(fct,2
std::cout << "sum = " << sum << '\n';
}
}
二次
产出:
二次
J_0(1.2345) = 0.653792
sum = 1
sum = 0.619002
sum = 0.655292
sum = 0.653756
sum = 0.653793
sum = 0.653792
二次
外部链接
第一类贝塞尔函数。来自MathWorld的一个Wolfram Web资源。
另见
cyl_bessel_icyl_bessel_ifcyl_bessel_il (C++17)(C++17)(C++17) | regular modified cylindrical Bessel functions (function) |
---|
© cppreference.com
在CreativeCommonsAttribution下授权-ShareAlike未移植许可v3.0。