Bessel 함수: _j0
, _j1
, _jn
_y0
, _y1
_yn
첫 번째 또는 두 번째 종류의 Bessel 함수를 0, 1 또는 n 순서로 계산합니다. 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
함수에서 음수이면 루틴은 errno
를 EDOM
으로 설정하고, _DOMAIN
오류 메시지를 stderr
에 출력하고, HUGE_VAL
을 반환합니다. _matherr
을 사용하여 오류 처리를 수정할 수 있습니다.
설명
_j0
, _j1
및 _jn
루틴은 첫 번째 종류의 Bessel 함수를 각각 0, 1, n의 순서로 반환합니다.
입력 | SEH 예외 | _matherr 예외 |
---|---|---|
± QNaN, IND | INVALID |
_DOMAIN |
_y0
, _y1
및 _yn
루틴은 두 번째 종류의 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++) |
호환성에 대한 자세한 내용은 호환성을 참조하세요.
예시
// 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