Main Content

besselj

제1종 베셀 함수(Bessel Function Of First Kind)

설명

예제

J = besselj(nu,Z)는 배열 Z의 각 요소에 대해 제1종 베셀 함수 Jν(z)를 계산합니다.

예제

J = besselj(nu,Z,scale)은 오버플로나 정확도 손실을 방지하기 위해 제1종 베셀 함수를 지수적으로 스케일링할지 여부를 지정합니다. scale1이면 besselj의 출력값은 exp(-abs(imag(Z)))배만큼 스케일링됩니다.

예제

모두 축소

영역을 정의합니다.

z = 0:0.1:20;

처음 5개의 제1종 베셀 함수(Bessel Function Of The First Kind)를 계산합니다. J의 각 행은 z의 점에서 평가된 한 차수에서의 베셀 함수 값을 포함합니다.

J = zeros(5,201);
for i = 0:4
    J(i+1,:) = besselj(i,z);
end

모든 함수를 동일한 Figure에 플로팅합니다.

plot(z,J)
grid on
legend('J_0','J_1','J_2','J_3','J_4','Location','Best')
title('Bessel Functions of the First Kind for $\nu \in [0, 4]$','interpreter','latex')
xlabel('z','interpreter','latex')
ylabel('$J_\nu(z)$','interpreter','latex')

Figure contains an axes object. The axes object with title Bessel Functions of the First Kind for nu in bracketleft 0 , 4 bracketright, xlabel z, ylabel J indexOf nu baseline leftParenthesis z rightParenthesis contains 5 objects of type line. These objects represent J_0, J_1, J_2, J_3, J_4.

z의 복소수 값에 대해 제1종 베셀 함수 J2(z)가 스케일링되지 않은 J와 스케일링된 Js를 계산합니다.

x = -10:0.3:10;
y = x';
z = x + 1i*y;
scale = 1;
J = besselj(2,z);
Js = besselj(2,z,scale);

스케일링된 함수와 스케일링되지 않은 함수의 허수부의 플롯을 비교합니다. 스케일링되지 않은 함수는 abs(imag(z))의 값이 큰 경우 빠르게 배정밀도의 제한을 오버플로하고 계산 불가능 상태가 됩니다. 스케일링된 함수는 계산에서 이와 같은 두드러진 지수 동작을 제거하므로 스케일링되지 않은 함수보다 더 큰 계산 가능 범위를 가집니다.

surf(x,y,imag(J))
title('Bessel Function of the First Kind','interpreter','latex')
xlabel('real(z)','interpreter','latex')
ylabel('imag(z)','interpreter','latex')

Figure contains an axes object. The axes object with title Bessel Function of the First Kind, xlabel real(z), ylabel imag(z) contains an object of type surface.

surf(x,y,imag(Js))
title('Scaled Bessel Function of the First Kind','interpreter','latex')
xlabel('real(z)','interpreter','latex')
ylabel('imag(z)','interpreter','latex')

Figure contains an axes object. The axes object with title Scaled Bessel Function of the First Kind, xlabel real(z), ylabel imag(z) contains an object of type surface.

입력 인수

모두 축소

방정식 차수로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. nu제1종 베셀 함수의 차수를 지정하는 실수입니다. nuZ는 크기가 동일하거나, 둘 중 하나가 스칼라일 수 있습니다.

예: besselj(3,0:5)

데이터형: single | double

함수 정의역으로, 스칼라, 벡터, 행렬 또는 다차원 배열로 지정됩니다. besseljZ가 양수이면 실수 값을 갖습니다. nuZ는 크기가 동일하거나, 둘 중 하나가 스칼라일 수 있습니다.

예: besselj(1,[1-1i 1+0i 1+1i])

데이터형: single | double
복소수 지원 여부:

함수 스케일링 여부로, 다음 값 중 하나로 지정됩니다.

  • 0(디폴트 값) — 스케일링 안 함

  • 1besselj의 출력값을 exp(-abs(imag(Z)))배만큼 스케일링

복소 평면에서 besselj의 크기는 abs(imag(Z))의 값이 증가함에 따라 빠르게 커지므로, abs(imag(Z))의 값이 커서 결과값의 정확도가 손실되거나 배정밀도의 제한을 오버플로하기 쉬운 경우에는 출력값을 지수적으로 스케일링하는 것이 유용합니다.

예: besselj(3,0:5,1)

세부 정보

모두 축소

베셀 함수

다음 미분 방정식은 베셀 방정식이라고 합니다. 여기서 ν는 실수형 상수입니다.

z2d2ydz2+zdydz+(z2ν2)y=0.

그 해는 베셀 함수라고 합니다.

Jν(z)J–ν(z)로 표현되는 제1종 베셀 함수는 정수가 아닌 ν에 대해 베셀 방정식의 기본 해 집합을 구성합니다. Jν(z)는 다음과 같이 정의됩니다.

Jν(z)=(z2)ν(k=0)(z24)kk!Γ(ν+k+1).

Yν(z)로 표현되는 제2종 베셀 함수는 베셀 방정식의 두 번째 해(Jν(z)의 선형 독립 해)를 구성합니다. Yν(z)는 다음과 같이 정의됩니다.

Yν(z)=Jν(z)cos(νπ)Jν(z)sin(νπ).

제2종 베셀 함수는 bessely를 사용하여 계산할 수 있습니다.

베셀 함수는 제3종 베셀 함수라고도 일컬어지며, 베셀 함수와 한켈 함수 간에는 다음과 같은 연관성이 있습니다.

Hν(1)(z)=Jν(z)+iYν(z)Hν(2)(z)=Jν(z)iYν(z).

Hν(K)(z)besselh이고 Jν(z)besselj이며 Yν(z)bessely입니다. 한켈 함수(Hankel Function)는 베셀 방정식(Bessel Equation)의 기본 해 집합도 생성합니다(besselh 참조).

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |