次の方法で共有


ベッセル関数: _j0_j1_jn_y0_y1_yn

0、1、または n の順序の、最初または 2 番目の種類の Bessel 関数を計算します。 Bessel 系関数は電磁波理論の数学でよく使用されます。

構文

double _j0(
   double x
);
double _j1(
   double x
);
double _jn(
   int n,
   double x
);
double _y0(
   double x
);
double _y1(
   double x
);
double _yn(
   int n,
   double x
);

パラメーター

x
浮動小数点値。

n
Bessel 系関数の整数順序。

戻り値

これらのルーチンはそれぞれ、 xの Bessel 関数を返します。 x_y0、または _y1関数で _yn が負の場合、ルーチンは errnoEDOMに設定し、 _DOMAIN エラー メッセージを stderrに出力し、 HUGE_VALを返します。 _matherrを使用することにより、エラー処理を変更することができます。

解説

_j0ルーチン、 _j1ルーチン、 _jn ルーチンは、最初の種類の Bessel 関数を返します。順序はそれぞれ、0、1、n です。

入力 SEH 例外 _matherr 例外
± QNaN、IND INVALID _DOMAIN

_y0ルーチン、 _y1ルーチン、 _yn ルーチンは、2 番目の種類の Bessel 関数を返します。順序はそれぞれ、0、1、n です。

入力 SEH 例外 _matherr 例外
± QNaN、IND INVALID _DOMAIN
± 0 ZERODIVIDE _SING
|x| < 0.0 INVALID _DOMAIN

既定では、この関数のグローバル状態の適用対象は、アプリケーションになります。 この動作を変更するには、「CRT でのグローバル状態」を参照してください。

要件

ルーチンによって返される値 必須ヘッダー
_j0_j1_jn_y0_y1_yn <cmath> (C++)、<math.h> (C、C++)

互換性の詳細については、「 Compatibility」を参照してください。

// crt_bessel1.c
#include <math.h>
#include <stdio.h>

int main( void )
{
   double x = 2.387;
   int n = 3, c;

   printf( "Bessel functions for x = %f:\n", x );
   printf( "   Kind   Order  Function     Result\n\n" );
   printf( "   First  0      _j0( x )     %f\n", _j0( x ) );
   printf( "   First  1      _j1( x )     %f\n", _j1( x ) );
   for( c = 2; c < 5; c++ )
      printf( "   First  %d      _jn( %d, x )  %f\n", c, c, _jn( c, x ) );
   printf( "   Second 0      _y0( x )     %f\n", _y0( x ) );
   printf( "   Second 1      _y1( x )     %f\n", _y1( x ) );
   for( c = 2; c < 5; c++ )
      printf( "   Second %d      _yn( %d, x )  %f\n", c, c, _yn( c, x ) );
}
Bessel functions for x = 2.387000:
   Kind   Order  Function     Result

   First  0      _j0( x )     0.009288
   First  1      _j1( x )     0.522941
   First  2      _jn( 2, x )  0.428870
   First  3      _jn( 3, x )  0.195734
   First  4      _jn( 4, x )  0.063131
   Second 0      _y0( x )     0.511681
   Second 1      _y1( x )     0.094374
   Second 2      _yn( 2, x )  -0.432608
   Second 3      _yn( 3, x )  -0.819314
   Second 4      _yn( 4, x )  -1.626833

関連項目

数値演算と浮動小数点のサポート
_matherr