Неполная гамма функция
igamma(nu,z)
igamma(
возвращает неполную гамма функцию.nu
,z
)
igamma
использует определение верхней неполной гамма функции. Функция MATLAB® gammainc
использует определение более низкой неполной гамма функции, gammainc(z, nu) = 1 - igamma(nu, z)/gamma(nu)
. Порядок входных параметров отличается между этими функциями.
В зависимости от его аргументов igamma
возвращает или точные символьные результаты с плавающей точкой.
Вычислите неполную гамма функцию для этих чисел. Поскольку эти числа не являются символьными объектами, вы получаете результаты с плавающей точкой.
A = [igamma(0, 1), igamma(3, sqrt(2)), igamma(pi, exp(1)), igamma(3, Inf)]
A = 0.2194 1.6601 1.1979 0
Вычислите неполную гамма функцию для чисел, преобразованных в символьные объекты:
symA = [igamma(sym(0), 1), igamma(3, sqrt(sym(2))),... igamma(sym(pi), exp(sym(1))), igamma(3, sym(Inf))]
symA = [ -ei(-1), exp(-2^(1/2))*(2*2^(1/2) + 4), igamma(pi, exp(1)), 0]
Используйте vpa
, чтобы аппроксимировать символьные результаты с числами с плавающей запятой:
vpa(symA)
ans = [ 0.21938393439552027367716377546012,... 1.6601049038903044104826564373576,... 1.1979302081330828196865548471769,... 0]
igamma
реализован согласно определению верхней неполной гамма функции. Если вы хотите вычислить более низкую неполную гамма функцию, преобразуйте результаты, возвращенные igamma
можно следующим образом.
Вычислите более низкую неполную гамма функцию для этих аргументов с помощью функции gammainc
MATLAB:
A = [-5/3, -1/2, 0, 1/3]; gammainc(A, 1/3)
ans = 1.1456 + 1.9842i 0.5089 + 0.8815i 0.0000 + 0.0000i 0.7175 + 0.0000i
Вычислите более низкую неполную гамма функцию для тех же аргументов с помощью igamma
:
1 - igamma(1/3, A)/gamma(1/3)
ans = 1.1456 + 1.9842i 0.5089 + 0.8815i 0.0000 + 0.0000i 0.7175 + 0.0000i
Если один или оба аргумента являются комплексными числами, используйте igamma
, чтобы вычислить более низкую неполную гамма функцию. gammainc
не принимает сложные аргументы.
1 - igamma(1/2, i)/gamma(1/2)
ans = 0.9693 + 0.4741i
Функция gammainc
MATLAB не принимает сложные аргументы. Для сложных аргументов используйте igamma
.
gammainc(z, nu) = 1 - igamma(nu, z)/gamma(nu)
представляет более низкую неполную гамма функцию с точки зрения верхней неполной гамма функции.
igamma(nu,z) = gamma(nu)(1 - gammainc(z, nu))
представляет верхнюю неполную гамма функцию с точки зрения более низкой неполной гамма функции.
gammainc(z, nu, 'upper') = igamma(nu, z)/gamma(nu)
.