주요 콘텐츠

besselk

제2종 변형 베셀 함수(Modified Bessel Function Of Second Kind)

설명

K = besselk(nu,Z)는 배열 Z의 각 요소에 대해 제2종 변형 베셀 함수 Kν(z)를 계산합니다.

예제

K = besselk(nu,Z,scale)은 언더플로나 정확도 손실을 방지하기 위해 제2종 변형 베셀 함수를 지수적으로 스케일링할지 여부를 지정합니다. scale1이면 besselk의 출력값은 exp(Z)배만큼 스케일링됩니다.

예제

예제

모두 축소

영역을 정의합니다.

z = 0:0.01:5;

처음 5개의 제2종 변형 베셀 함수를 계산합니다. K의 각 행은 z의 점에서 평가된 한 차수에서의 베셀 함수 값을 포함합니다.

K = zeros(5,501);
for i = 0:4
    K(i+1,:) = besselk(i,z);
end

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

plot(z,K)
axis([0 5 0 8])
grid on
legend('K_0','K_1','K_2','K_3','K_4','Location','Best')
title('Modified Bessel Functions of the Second Kind for $\nu \in [0,4]$','interpreter','latex')
xlabel('z','interpreter','latex')
ylabel('$K_\nu(z)$','interpreter','latex')

Figure contains an axes object. The axes object with title Modified Bessel Functions of the Second Kind for nu in bracketleft 0 , 4 bracketright, xlabel z, ylabel K indexOf nu baseline leftParenthesis z rightParenthesis contains 5 objects of type line. These objects represent K_0, K_1, K_2, K_3, K_4.

구간 [0,5]에 있는 z의 값에 대해 그리고 0과 3 사이의 차수 ν에 대해 스케일링된 제2종 변형 베셀 함수 Kν(z)e z을 계산합니다.

z = linspace(0,5);
scale = 1;
Ks = zeros(4,100);
for nu = 0:3
  Ks(nu+1,:) = besselk(nu,z,scale);
end

모든 함수를 동일한 Figure에 플로팅합니다. 스케일링된 함수는 z의 값이 큰 경우에도 스케일링되지 않은 함수만큼 빠르게 배정밀도의 제한보다 언더플로되지 않으므로 더 큰 계산 가능 범위를 가집니다.

plot(z,Ks)
ylim([0 3])
legend('K_0','K_1','K_2','K_3')
title('Scaled Mod. Bessel Functions of the Second Kind for $\nu \in \left[0, 3 \right]$','interpreter','latex')
xlabel('z','interpreter','latex')
ylabel('$K_\nu(z) \cdot e^{z}$','interpreter','latex')

Figure contains an axes object. The axes object with title Scaled Mod. Bessel Functions of the Second Kind for nu in bracketleft 0 , 3 bracketright, xlabel z, ylabel K indexOf nu baseline leftParenthesis z rightParenthesis cdot e toThePowerOf z baseline contains 4 objects of type line. These objects represent K_0, K_1, K_2, K_3.

입력 인수

모두 축소

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

예: besselk(3,Z)

데이터형: single | double

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

예: besselk(nu,0:3)

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

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

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

  • 1besselk의 출력값을 exp(Z)배만큼 스케일링

besselk의 값은 Z의 값이 증가함에 따라 빠르게 작아지므로, Z의 값이 커서 결과값의 정확도가 손실되거나 배정밀도의 제한보다 언더플로되기 쉬운 경우에는 출력값을 지수적으로 스케일링하는 것이 유용합니다.

예: besselk(nu,Z,1)

세부 정보

모두 축소

참고 문헌

[1] Amos, D. E. “Algorithm 644: A Portable Package for Bessel Functions of a Complex Argument and Nonnegative Order.” ACM Transactions on Mathematical Software 12, no. 3 (September 1986): 265–273. https://dl.acm.org/doi/10.1145/7921.214331.

확장 기능

모두 확장

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |