Логарифмическая гамма-функция
В зависимости от его аргументов, 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) = журнал (гамма (x)) + f (x) 2, где f (x) - некоторая целочисленная функция. Целочисленные множители 2, i выбраны такими, что gammaln(x)
аналитический по всей комплексной плоскости с разрезом ветви по отрицательной действительной полупрозрачности оси.
Для отрицательных реальных x
, gammaln(x)
равно пределу log(gamma(x))
от «выше».