Main Content

gammainc

정규화된 불완전 감마 함수

설명

예제

Y = gammainc(X,A)XA의 요소에서 계산된 정규화된 하부 불완전 감마 함수를 반환합니다. XA는 모두 실수여야 하고 A는 음이 아니어야 합니다.

예제

Y = gammainc(X,A,type)은 정규화된 하부 또는 상부 불완전 감마 함수를 반환합니다. type'lower'(디폴트 값) 또는 'upper' 값을 가질 수 있습니다.

예제

Y = gammainc(X,A,scale)은 0으로의 언더플로 또는 정확도 손실을 방지하기 위해 결과로 생성된 정규화된 하부 또는 상부 불완전 감마 함수를 스케일링합니다. scale'scaledlower' 또는 'scaledupper' 값을 가질 수 있습니다.

예제

모두 축소

구간 0x10 내에서 a = 0.5, 1, 1.5, 2에 대한 정규화된 하부 불완전 감마 함수를 계산합니다. a의 값을 루프를 사용해 순회하여 각각의 값에서 함수를 계산한 후, 각 결과를 Y의 열에 할당합니다.

A = [0.5 1 1.5 2];
X = 0:0.05:10;
Y = zeros(201,4);
for i = 1:4
    Y(:,i) = gammainc(X,A(i));
end

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

plot(X,Y)
grid on
legend('$a = 0.5$','$a = 1$','$a = 1.5$','$a = 2$','interpreter','latex')
title('Regularized lower incomplete gamma function for $a = 0.5, 1, 1.5,$ and $2$','interpreter','latex')
xlabel('$x$','interpreter','latex')
ylabel('$P(x,a)$','interpreter','latex')

Figure contains an axes object. The axes object with title Regularized lower incomplete gamma function for $a = 0.5, 1, 1.5,$ and $2$, xlabel $x$, ylabel $P(x,a)$ contains 4 objects of type line. These objects represent $a = 0.5$, $a = 1$, $a = 1.5$, $a = 2$.

구간 0x10 내에서 a = 0.5, 1, 1.5, 2에 대한 정규화된 상부 불완전 감마 함수를 계산합니다. a의 값을 루프를 사용해 순회하여 각각의 값에서 함수를 계산한 후, 각 결과를 Y의 열에 할당합니다.

A = [0.5 1 1.5 2];
X = 0:0.05:10;
Y = zeros(201,4);
for i = 1:4
    Y(:,i) = gammainc(X,A(i),'upper');
end

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

plot(X,Y)
grid on
legend('$a = 0.5$','$a = 1$','$a = 1.5$','$a = 2$','interpreter','latex');
title('Regularized upper incomplete gamma function for $a = 0.5, 1, 1.5,$ and $2$','interpreter','latex')
xlabel('$x$','interpreter','latex')
ylabel('$Q(x,a)$','interpreter','latex')

Figure contains an axes object. The axes object with title Regularized upper incomplete gamma function for $a = 0.5, 1, 1.5,$ and $2$, xlabel $x$, ylabel $Q(x,a)$ contains 4 objects of type line. These objects represent $a = 0.5$, $a = 1$, $a = 1.5$, $a = 2$.

구간 0x2 내에서 a=1에 대한 스케일링되지 않은 정규화된 하부 불완전 감마 함수를 계산합니다. 함수를 플로팅합니다.

a = 1;
x = 0:0.001:2;
Y = gammainc(x,a);
plot(x,Y);
xlabel('$x$','interpreter','latex');
ylabel('$P(x,1)$','interpreter','latex')
hold on

그다음, 스케일링된 하부 불완전 감마 함수를 계산합니다. 동일한 그래프에 함수를 플로팅합니다. 스케일링된 함수는 0 근처에서 다른 점근적 특성을 갖습니다. 이로 인해 x가 0에 가까울 때 언더플로가 방지됩니다.

Ys = gammainc(x,a,'scaledlower');
plot(x,Ys,'--');
legend('unscaled','scaled')

Figure contains an axes object. The axes object with xlabel $x$, ylabel $P(x,1)$ contains 2 objects of type line. These objects represent unscaled, scaled.

입력 인수

모두 축소

입력 배열로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. X의 요소는 실수여야 합니다. XA는 동일한 크기이거나 아니면 둘 중 하나가 스칼라여야 합니다.

데이터형: single | double

입력 배열로, 스칼라, 벡터, 행렬, 다차원 배열 중 하나로 지정됩니다. A의 요소는 음이 아닌 실수여야 합니다. XA는 동일한 크기이거나 아니면 둘 중 하나가 스칼라여야 합니다.

데이터형: single | double

정규화된 불완전 감마 함수 유형으로, 'lower' 또는 'upper'로 지정됩니다. type'lower'이면, gammainc는 정규화된 하부 불완전 감마 함수를 반환합니다. type'upper'이면, gammainc는 정규화된 상부 불완전 감마 함수를 반환합니다.

스케일링 옵션으로, 'scaledlower'이나 'scaledupper'로 지정됩니다. scale'scaledlower' 또는 'scaledupper'이면, gammaincΓ(a+1)ex/xa배만큼 정규화된 하부 또는 상부 불완전 감마 함수를 스케일링합니다. 여기서 Γ(a)gamma 함수입니다. 이 스케일링으로 0 근처에서 함수의 점근적 특성이 사라지고, 그에 따라 작은 인수 값으로 인한 언더플로가 방지됩니다.

제한 사항

  • x가 음수이면 abs(x) > a+1인 경우에 정규화된 불완전 감마 함수가 부정확할 수 있습니다.

세부 정보

모두 축소

불완전 감마 함수(Incomplete Gamma Function)

정규화된 하부 불완전 감마 함수 P와 정규화된 상부 불완전 감마 함수 Q는 다음과 같이 정의됩니다.

P(x,a)=1Γ(a)0xta1etdt,Q(x,a)=1Γ(a)xta1etdt.

감마 함수 Γ(a)는 다음과 같이 정의됩니다.

Γ(a)=0ta1etdt.

MATLAB®은 불완전 감마 함수의 정규화된 정의를 사용합니다. 따라서 P(x,a)+Q(x,a)=1입니다.

스케일링된 하부 및 상부 불완전 감마 함수는 다음과 같이 정의됩니다.

Ps(x,a)=Γ(a+1)Γ(a)exxa0xta1etdt,Qs(x,a)=Γ(a+1)Γ(a)exxaxta1etdt.

정규화된 하부 불완전 감마 함수의 일부 속성은 다음과 같습니다.

  • limxP(x,a)=1fora0

  • limx,a0P(x,a)=1

  • 정규화된 상부 불완전 감마 함수가 0에 가까울 경우, 'upper' 옵션을 지정하여 함수를 계산하는 것이 1에서 정규화된 하부 불완전 감마 함수를 빼는 것보다 더 정확합니다.

참고 문헌

[1] Olver, F. W. J., A. B. Olde Daalhuis, D. W. Lozier, B. I. Schneider, R. F. Boisvert, C. W. Clark, B. R. Miller, and B. V. Saunders, eds., Chapter 8. Incomplete Gamma and Related Functions, NIST Digital Library of Mathematical Functions, Release 1.0.22, Mar. 15, 2018.

확장 기능

버전 내역

R2006a 이전에 개발됨

참고 항목

| | |