Конфлюентная гипергеометрическая функция Куммера U
dsolve может возвращать решения обыкновенных дифференциальных уравнений второго порядка в терминах функции Куммера U.
Решить это уравнение. Решатель возвращает результаты в терминах функции Kummer U и другой гипергеометрической функции.
syms t z y(z) dsolve(z^3*diff(y,2) + (z^2 + t)*diff(y) + z*y)
ans = (C4*hypergeom(1i/2, 1 + 1i, t/(2*z^2)))/z^1i +... (C3*kummerU(1i/2, 1 + 1i, t/(2*z^2)))/z^1i
В зависимости от его аргументов, kummerU может вернуть с плавающей точкой или точные символьные результаты.
Вычислите функцию Kummer U для этих чисел. Поскольку эти числа не являются символическими объектами, вы получаете результаты с плавающей точкой.
A = [kummerU(-1/3, 2.5, 2) kummerU(1/3, 2, pi) kummerU(1/2, 1/3, 3*i)]
A = 0.8234 + 0.0000i 0.7284 + 0.0000i 0.4434 - 0.3204i
Вычислите функцию Kummer U для чисел, преобразованных в символические объекты. Для большинства символических (точных) чисел kummerU возвращает неразрешенные символические вызовы.
symA = [kummerU(-1/3, 2.5, sym(2)) kummerU(1/3, 2, sym(pi)) kummerU(1/2, sym(1/3), 3*i)]
symA =
kummerU(-1/3, 5/2, 2)
kummerU(1/3, 2, pi)
kummerU(1/2, 1/3, 3i)Использовать vpa для аппроксимации символьных результатов с необходимым количеством цифр.
vpa(symA,10)
ans =
0.8233667846
0.7284037305
0.4434362538 - 0.3204327531iФункция Kummer U имеет специальные значения для некоторых параметров.
Если a является отрицательным целым числом, функция Куммера U уменьшается до полинома.
syms a b z [kummerU(-1, b, z) kummerU(-2, b, z) kummerU(-3, b, z)]
ans =
z - b
b - 2*z*(b + 1) + b^2 + z^2
6*z*(b^2/2 + (3*b)/2 + 1) - 2*b - 6*z^2*(b/2 + 1) - 3*b^2 - b^3 + z^3Если b = 2*aфункция Kummer U сводится к выражению, включающему модифицированную функцию Бесселя второго рода.
kummerU(a, 2*a, z)
ans = (z^(1/2 - a)*exp(z/2)*besselk(a - 1/2, z/2))/pi^(1/2)
Если a = 1 или a = bфункция Kummer U сводится к выражению, включающему неполную гамма-функцию.
kummerU(1, b, z)
ans = z^(1 - b)*exp(z)*igamma(b - 1, z)
kummerU(a, a, z)
ans = exp(z)*igamma(1 - a, z)
Если a = 0, функция Kummer U 1.
kummerU(0, a, z)
ans = 1
Многие функции, такие как diff, int, и limit, может обрабатывать выражения, содержащие kummerU.
Найдите первую производную функции Куммера U относительно z.
syms a b z diff(kummerU(a, b, z), z)
ans = (a*kummerU(a + 1, b, z)*(a - b + 1))/z - (a*kummerU(a, b, z))/z
Найдите неопределенный интеграл функции Kummer U относительно z.
int(kummerU(a, b, z), z)
ans = ((b - 2)/(a - 1) - 1)*kummerU(a, b, z) +... (kummerU(a + 1, b, z)*(a - a*b + a^2))/(a - 1) -... (z*kummerU(a, b, z))/(a - 1)
Найдите предел этой функции Kummer U.
limit(kummerU(1/2, -1, z), z, 0)
ans = 4/(3*pi^(1/2))
kummerU возвращает результаты с плавающей точкой для числовых аргументов, которые не являются символьными объектами.
kummerU действует поэлементно на нескалярных входах.
Все нескалярные аргументы должны иметь одинаковый размер. Если один или два входных параметров нескаляра, то kummerU расширяет скаляры в векторы или матрицы того же размера, что и нескалярные аргументы, при этом все элементы равны соответствующему скаляру.
[1] Слейтер, Л. Дж. «Слияние гипергеометрических функций». Руководство по математическим функциям с формулами, графиками и математическими таблицами. (М. Абрамовиц и И. А. Штегун, эд.). Нью-Йорк: Дувр, 1972.