std:: sph_bessel, std:: sph_besself, std:: sph_bessell
|
ヘッダー
<cmath>
で定義
|
||
| (1) | ||
|
float
sph_bessel
(
unsigned
int
n,
float
x
)
;
double
sph_bessel
(
unsigned
int
n,
double
x
)
;
|
(C++17以降)
(C++23以前) |
|
|
/*floating-point-type*/
sph_bessel
(
unsigned
int
n,
/*floating-point-type*/ x ) ; |
(C++23以降) | |
|
float
sph_besself
(
unsigned
int
n,
float
x
)
;
|
(2) | (C++17以降) |
|
long
double
sph_bessell
(
unsigned
int
n,
long
double
x
)
;
|
(3) | (C++17以降) |
|
ヘッダー
<cmath>
で定義
|
||
|
template
<
class
Integer
>
double sph_bessel ( unsigned int n, Integer x ) ; |
(A) | (C++17以降) |
std::sph_bessel
のオーバーロードを提供する。
(C++23以降)
目次 |
パラメータ
| n | - | 関数の次数 |
| x | - | 関数の引数 |
戻り値
エラーが発生しない場合、第1種球ベッセル関数の値を返します。これは
n
および
x
に対する関数であり、具体的には
j
n
(x) = (π/2x)
1/2
J
n+1/2
(x)
で表されます。ここで
J
n
(x)
は
std::
cyl_bessel_j
(
n, x
)
であり、
x≥0
です。
エラーハンドリング
エラーは math_errhandling で指定されている通りに報告される場合があります。
- 引数がNaNの場合、NaNが返され、定義域エラーは報告されません。
- n≥128 の場合、動作は実装定義となります。
注記
C++17をサポートしていないが、
ISO 29124:2010
をサポートする実装では、実装によって
__STDCPP_MATH_SPEC_FUNCS__
が少なくとも201003L以上の値に定義されており、かつユーザーが標準ライブラリヘッダーをインクルードする前に
__STDCPP_WANT_MATH_SPEC_FUNCS__
を定義している場合、この関数を提供します。
ISO 29124:2010をサポートせず、TR 19768:2007 (TR1) をサポートする実装では、この関数はヘッダー
tr1/cmath
および名前空間
std::tr1
で提供されます。
この関数の実装は boost.math でも利用可能です。
追加のオーバーロードは (A) と完全に同一である必要はありません。整数型の引数 num に対して、 std :: sph_bessel ( int_num, num ) が std :: sph_bessel ( int_num, static_cast < double > ( num ) ) と同じ効果を持つことを保証するのに十分なものであればよいのです。
例
出力:
j_1(1.2345) = 0.352106 sin(x)/x² - cos(x)/x = 0.352106
関連項目
|
(C++17)
(C++17)
(C++17)
|
円筒ベッセル関数(第一種)
(関数) |
|
(C++17)
(C++17)
(C++17)
|
球ノイマン関数
(関数) |
外部リンク
| Weisstein, Eric W. "Spherical Bessel Function of the First Kind." From MathWorld — A Wolfram Web Resource. |
| Weisstein, Eric W. "球面ベッセル関数(第一種)。" MathWorld — Wolfram Webリソースより。 |