Main Content

besseli

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

설명

예제

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

예제

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

예제

모두 축소

영역을 정의합니다.

z = 0:0.01:5;

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

I = zeros(5,501);
for nu = 0:4
    I(nu+1,:) = besseli(nu,z);
end

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

plot(z,I)
axis([0 5 0 8])
grid on
legend('I_0','I_1','I_2','I_3','I_4','Location','NorthWest')
title('Modified Bessel Functions of the First Kind for $\nu \in [0,4]$','interpreter','latex')
xlabel('z','interpreter','latex')
ylabel('$I_\nu(z)$','interpreter','latex')

Figure contains an axes object. The axes object with title Modified Bessel Functions of the First Kind for nu in bracketleft 0 , 4 bracketright, xlabel z, ylabel I indexOf nu baseline leftParenthesis z rightParenthesis contains 5 objects of type line. These objects represent I_0, I_1, I_2, I_3, I_4.

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

z = linspace(0,20);
scale = 1;
Is = zeros(4,100);
for nu = 0:3
  Is(nu+1,:) = besseli(nu,z,scale);
end

모든 함수를 동일한 Figure에 플로팅합니다. 스케일링된 함수는 z의 값이 큰 경우 스케일링되지 않은 함수보다 더 큰 계산 가능 범위를 가지므로 배정밀도 제한을 오버플로하지 않습니다.

plot(z,Is)
legend('I_0','I_1','I_2','I_3')
title('Scaled Mod. Bessel Functions of the First Kind for $\nu \in \left[0, 3 \right]$','interpreter','latex')
xlabel('z','interpreter','latex')
ylabel('$e^{-|{z}|} \cdot I_\nu(z)$','interpreter','latex')

Figure contains an axes object. The axes object with title Scaled Mod. Bessel Functions of the First Kind for nu in bracketleft 0 , 3 bracketright, xlabel z, ylabel e toThePowerOf minus verticalbar z verticalbar baseline cdot I indexOf nu baseline leftParenthesis z rightParenthesis contains 4 objects of type line. These objects represent I_0, I_1, I_2, I_3.

입력 인수

모두 축소

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

예: besseli(3,Z)

데이터형: single | double

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

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

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

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

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

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

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

예: besseli(nu,Z,1)

세부 정보

모두 축소

변형 베셀 함수

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

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

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

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

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

Kν(z)로 표현되는 제2종 변형 베셀 함수Iν(z)의 두 번째 독립 해를 구성하며 다음과 같이 지정됩니다.

Kν(z)=(π2)Iν(z)Iν(z)sin(νπ).

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

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | | |