Логарифмическая гамма-функция
В зависимости от его аргументов, gammaln возвращает результаты с плавающей запятой или точные символьные результаты.
Вычислите логарифмическую гамма-функцию для этих чисел. Поскольку эти числа не являются символическими объектами, получаются результаты с плавающей запятой.
A = gammaln([1/5, 1/2, 2/3, 8/7, 3])
A =
1.5241 0.5724 0.3032 -0.0667 0.6931Вычислите логарифмическую гамма-функцию для чисел, преобразованных в символические объекты. Для многих символических (точных) чисел, gammaln возвращает результаты в терминах gammaln, log, и gamma функции.
symA = gammaln(sym([1/5, 1/2, 2/3, 8/7, 3]))
symA = [ gammaln(1/5), log(pi^(1/2)), gammaln(2/3),... log(gamma(1/7)/7), log(2)]
Использовать vpa для аппроксимации символьных результатов числами с плавающей запятой:
vpa(symA)
ans = [ 1.5240638224307845248810564939263,... 0.57236494292470008707171367567653,... 0.30315027514752356867586281737201,... -0.066740877459477468649396334098109,... 0.69314718055994530941723212145818]
gammaln определяется для всех сложных аргументов, за исключением отрицательной бесконечности.
Вычислите логарифмическую гамма-функцию для положительных целочисленных аргументов. Для таких аргументов логарифмическая гамма-функция определяется как натуральный логарифм гамма-функции, gammaln(x) = log(gamma(x)).
pos = gammaln(sym([1/4, 1/3, 1, 5, Inf]))
pos = [ log((pi*2^(1/2))/gamma(3/4)), log((2*pi*3^(1/2))/(3*gamma(2/3))), 0, log(24), Inf]
Вычислите логарифмическую гамма-функцию для непозитивных целочисленных аргументов. Для непозитивных целых чисел, gammaln прибыль Inf.
nonposint = gammaln(sym([0, -1, -2, -5, -10]))
nonposint = [ Inf, Inf, Inf, Inf, Inf]
Вычислите логарифмическую гамма-функцию для сложных и отрицательных рациональных аргументов. Для этих аргументов, gammaln возвращает неразрешенные символьные вызовы.
complex = gammaln(sym([i, -1 + 2*i , -2/3, -10/3]))
complex = [ gammaln(1i), gammaln(- 1 + 2i), gammaln(-2/3), gammaln(-10/3)]
Использовать vpa для аппроксимации символьных результатов числами с плавающей запятой:
vpa(complex)
ans = [ - 0.65092319930185633888521683150395 - 1.8724366472624298171188533494366i,... - 3.3739449232079248379476073664725 - 3.4755939462808110432931921583558i,... 1.3908857550359314511651871524423 - 3.1415926535897932384626433832795i,... - 0.93719017334928727370096467598178 - 12.566370614359172953850573533118i]
Вычислите логарифмическую гамма-функцию отрицательной бесконечности:
gammaln(sym(-Inf))
ans = NaN
Постройте график логарифмической гамма-функции на интервале от 0 до 10.
syms x fplot(gammaln(x),[0 10]) grid on

Чтобы лучше видеть отрицательные значения, постройте график той же функции на интервале от 1 до 2.
fplot(gammaln(x),[1 2])
grid on
Многие функции, такие как diff и limit, может обрабатывать выражения, содержащие lngamma.
Дифференцируйте логарифмическую гамма-функцию:
syms x diff(gammaln(x), x)
ans = psi(x)
Вычислите пределы этих выражений, содержащих логарифмическую гамма-функцию:
syms x limit(1/gammaln(x), x, Inf)
ans = 0
limit(gammaln(x - 1) - gammaln(x - 2), x, 0)
ans = log(2) + pi*1i
Для одиночного или двойного ввода в gammaln(x), x должны быть реальными и позитивными.
Для символьного ввода:
gammaln(x) определяется для всех сложных x за исключением единственных точек 0, -1, -2,....
Для положительных реальных x, gammaln(x) представляет логарифмическую гамма-функцию log(gamma(x)).
Для отрицательного реального x или для сложных x, gammaln (x) = log (гамма (x)) + f (x) 2xeoni, где f (x) - некоторая целочисленная функция. Целочисленные кратные 2xeoni выбираются так, чтоgammaln(x) является аналитическим по всей комплексной плоскости с ответвлением, вырезанным вдоль отрицательной вещественной полуоси.
Для отрицательного реального x, gammaln(x) равно пределу log(gamma(x)) от «выше».