# gamma_inc
不完全gamma函数
函数库: TyMath
# 语法
I = gamma_inc(a,x,IND = 0)
# 说明
B = gamma_inc(a,x,IND=0)返回在a和x的元素处计算的不完全gamma函数。a和x必须都为实数,a必须为非负值。 示例
# 示例
绘制下不完全gamma函数
计算区间 a 内 0≤x≤10= 0.5、1、1.5 和 2 的下不完全 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
for j = 1:length(X)
Y[j,i] = gamma_inc.(A[i],X)[j][1]
end
end
在同一图窗中绘制所有函数。
hold("on")
for i = 1:4
plot(X,Y[:,i])
end
grid("on")
legend(["a = 0.5","a = 1","a = 1.5","a = 2"])
title("a = 0.5、1、1.5 和 2 的下不完全 gamma 函数")
xlabel("x")
ylabel("P(x,a)")
绘制上不完全gamma函数
计算区间 a 内 0≤x≤10= 0.5、1、1.5 和 2 的上不完全 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
for j = 1:length(X)
Y[j,i] = gamma_inc.(A[i],X)[j][2]
end
end
在同一图窗中绘制所有函数。
hold("on")
for i = 1:4
plot(X,Y[:,i])
end
grid("on")
legend(["a = 0.5","a = 1","a = 1.5","a = 2"])
title("a = 0.5、1、1.5 和 2 的上不完全 gamma 函数")
xlabel("x")
ylabel("Q(x,a)")
# 输入参数
a-输入数组标量 | 向量 | 矩阵 | 多维数组
输入数组,指定为标量、向量、矩阵或多维数组。A 的元素必须为非负实数。X 和 A 必须大小相同,或者其中之一必须为标量。
数据类型: Int64 | Int32 | Int16 | Int128 | Float64 | Float32 | Float16 | UInt
x-输入数组标量 | 向量 | 矩阵 | 多维数组
输入数组,指定为标量、向量、矩阵或多维数组。X 的元素必须为实数。X 和 A 必须大小相同,否则其中之一必须为标量。
IND-精度0(默认) | 1 | 2
IND 默认输入为0,14位有效数字的精度 ;
IND = 1时, 6位有效数字的精度;
IND = 1时, 3位有效数字的精度.
# 局限性
当 x 为负值时,对于 abs(x) > a+1,不完全 gamma 函数可能不准确。
# 详细信息
不完全gamma函数
下不完全 gamma 函数 P 和上不完全 gamma 函数 Q 由下式定义:
gamma函数
Julia使用不完全gamma函数的归一化定义,其中P(a,x) + Q(a,x) = 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.