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