2026a

# gammainc


不完全gamma函数

函数库: TyMath

# 语法

Y = gammainc(X,A)
Y = gammainc(X,A,islower)
Y = gammainc(X,A,islower,scaled)

# 说明

Y = gammainc(X,A) 返回在 X 和 A 的元素处计算的下不完全 gamma 函数 。X 和 A 必须都为实数,A 必须为非负值。示例


Y = gammainc(X,A,islower) 返回下/上不完全 gamma 函数。islower 的选项是 true(默认值)和 false。示例


Y = gammainc(X,A,islower,scaled) 缩放生成的下/上不完全 gamma 函数,以避免下溢为零或损失精度。scaled 的选项是 false(默认值)和 true。示例

# 示例

绘制下不完全gamma函数

计算 a = 0.5、1、1.5 和 2 时在区间 0≤x≤10 内的下不完全 gamma 函数。逐一计算每个 a 值对应的函数,将每个值的计算结果赋给 Y 的一列。

using TyMath
using TyPlot
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

在同一图窗中绘制所有函数。

plot(X,Y)
grid("on")
legend(["a = 0.5","a = 1","a = 1.5","a = 2"],loc="northeast")
title("a = 0.5、1、1.5 和 2 的下不完全 gamma 函数")
xlabel("x")
ylabel("P(x,a)")
绘制上不完全gamma函数

计算 a = 0.5、1、1.5 和 2 时在区间 0≤x≤10 内的上不完全 gamma 函数。逐一计算每个 a 值对应的函数,将每个值的计算结果赋给 Y 的一列。

using TyMath
using TyPlot
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],false)
end

在同一图窗中绘制所有函数。

plot(X,Y)
grid("on")
legend(["a = 0.5","a = 1","a = 1.5","a = 2"],loc="northeast")
title("a = 0.5、1、1.5 和 2 的上不完全 gamma 函数")
xlabel("x")
ylabel("Q(x,a)")
绘制缩放的不完全 gamma 函数

计算未缩放的下不完全 gamma 函数,并将其与经过缩放的函数进行比较。

计算区间 0≤x≤2 内 a=1 的未缩放的下不完全 gamma 函数。绘制函数。

using TyMath
using TyPlot
a = 1;
x = 0:0.001:2;
Y = gammainc(x,a);
plot(x,Y);
xlabel("x");
ylabel("P(x,1)")
hold("on")

接下来,计算缩放的下不完全 gamma 函数。在同一个图上绘制该函数。经过缩放的函数在 0 附近具有不同的渐近行为,可避免当 x 接近 0 时出现下溢。

Ys = gammainc(x,a,true,true);
plot(x,Ys,"--");
legend(["unscaled","scaled"])

# 输入参数

X - 输入数组
标量 | 向量 | 矩阵 | 多维数组

输入数组,指定为标量、向量、矩阵或多维数组。X 的元素必须为非负实数。X 和 A 必须大小相同,或者其中之一必须为标量。

数据类型: Int64 | Int32 | Int16 | Int128 | Float64 | Float32 | Float16 | UInt

A - 输入数组
标量 | 向量 | 矩阵 | 多维数组

输入数组,指定为标量、向量、矩阵或多维数组。A 的元素必须为实数。X 和 A 必须大小相同,否则其中之一必须为标量。

islower - 不完全 gamma 函数的类型
true(默认) | false

不完全 gamma 函数的类型,指定为 true 或 false。如果 islower 是 true,则 gammainc 返回下不完全 gamma 函数。如果 islower 是 false,则 gammainc 返回上不完全 gamma 函数。

scaled - 缩放选项
false(默认) | true

缩放选项,指定为 false 或 true。如果 scaled 是 true,则 gammainc 按因子 对下/上不完全 gamma 函数进行缩放,其中 Γ(a) 是 gamma 函数。这种缩放可抵消函数在 0 附近的渐近行为,从而避免在使用小参数时发生下溢。

# 局限性

当 x 为负值时,对于 abs(x) > a+1,不完全 gamma 函数可能不准确。

# 详细信息

不完全gamma函数

下不完全 gamma 函数 P 和上不完全 gamma 函数 Q 由下式定义:

gamma函数由下式定义:

Julia使用不完全gamma函数的归一化定义,其中P(a,x) + Q(a,x) = 1。

下不完全 gamma 函数的一些属性包括:

# 提示

  • 当上不完全 gamma 函数接近 0 时,指定 false 选项来计算该函数比从 1 中减去下不完全 gamma 函数更精确。

# 参考

[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.

# 另请参阅

gamma | gammaincinv | gammaln | psi