std::cyl_bessel_i, std::cyl_bessel_if, std::cyl_bessel_il
| ヘッダー <cmath> で定義 |
||
| (1) | ||
float cyl_bessel_i ( float nu, float x ); double cyl_bessel_i ( double nu, double x ); |
(C++17以降) (C++23まで) |
|
| /* floating-point-type */ cyl_bessel_i( /* floating-point-type */ nu, /* floating-point-type */ x ); |
(C++23から) | |
| float cyl_bessel_if( float nu, float x ); |
(2) | (C++17以降) |
| long double cyl_bessel_il( long double nu, long double x ); |
(3) | (C++17以降) |
| ヘッダー <cmath> で定義 |
||
| template< class Arithmetic1, class Arithmetic2 > /* 共通浮動小数点型 */ |
(A) | (C++17以降) |
nuとxの型として、すべてのcvなし浮動小数点型に対するstd::cyl_bessel_iのオーバーロードを提供します。(C++23以降)目次 |
[編集] パラメータ
| nu | - | 関数の次数 |
| x | - | 関数の引数 |
[編集] 戻り値
エラーが発生しなかった場合、nuとxの正則変形ベッセル関数の値、すなわちInu(x) = Σ∞k=0
| (x/2)nu+2k |
| k!Γ(nu+k+1) |
[編集] エラー処理
math_errhandling で指定されたとおりにエラーが報告される場合があります。
- 引数がNaNの場合、NaNが返され、ドメインエラーは報告されません。
- nu≥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) とまったく同じように提供される必要はない。それらは、最初の引数 num1 と2番目の引数 num2 に対して以下を保証するのに十分である必要がある。
|
(C++23まで) |
|
num1とnum2の型が算術型の場合、std::cyl_bessel_i(num1, num2)はstd::cyl_bessel_i(static_cast</* common-floating-point-type */>(num1), そのような最高のランクとサブランクセを持つ浮動小数点型が存在しない場合、オーバーロード解決は提供されたオーバーロードから使用可能な候補を導出しません。 |
(C++23から) |
[編集] 例
#include <cmath> #include <iostream> int main() { // spot check for nu == 0 const double x = 1.2345; std::cout << "I_0(" << x << ") = " << std::cyl_bessel_i(0, x) << '\n'; // series expansion for I_0 double fct = 1; double sum = 0; for (int k = 0; k < 5; fct *= ++k) { sum += std::pow(x / 2, 2 * k) / std::pow(fct, 2); std::cout << "sum = " << sum << '\n'; } }
出力
I_0(1.2345) = 1.41886 sum = 1 sum = 1.381 sum = 1.41729 sum = 1.41882 sum = 1.41886
[編集] 関連項目
| (C++17)(C++17)(C++17) |
(第一種)円柱ベッセル関数 (関数) |
[編集] 外部リンク
| Weisstein, Eric W. "Modified Bessel Function of the First Kind." From MathWorld — A Wolfram Web Resource. |