Бета-функция и ее варианты (эйлеров интеграл первого рода)
Гамма-функция и ее варианты
Другие специальные функции.
Функции Бесселя.
Функции Эйри.
Бета-функция и ее варианты (эйлеров интеграл первого рода).
Гамма-функция и ее варианты.
ЛЕКЦИЯ № 23
Специальные математические функции.
Кроме элементарных функций, пакет MATLAB включает целый ряд специальных математических функций, которые встречаются в задачах математической физики. Такие функции являются решениями некоторых дифференциальных уравнений или обозначениями интегралов определенного вида.
Технология вычисления специальных математических функций в системе Matlab практически не отличается от технологии вычисления элементарных функций. Пользователь вводит имя функции и значения аргументов. И после нажатия клавиши <Enter> получает значение специальной функции. Аргументами специальных математических функций могут быть как отдельные числа, так и массивы чисел. Если аргументом спецфункции является массив, в результате получится массив того же размера, элементы которого будут преобразованы в соответствии с заданной функцией.
Справку о функции можно получить, если ввести в командной строке doc function, где function — имя специальной функции.
Далее мы рассмотрим некоторые специальные математические функции, доступные в MATLAB.
Эта функция представлена несобственным интегралом на верхнем пределе и при на нижнем. Этот интеграл называется также эйлеровым интегралом второго рода.
Функция существует лишь при тех значениях параметра t , при которых сходится несобственный интеграл, т.е. при .
При натуральных значениях t (t = n).
Гамма-функция в этом случае отождествляется с факториалом целого числа, при этом справедливыми являются следующие выражения: Гамма-функция существует для случая n целого, дробного, положительного и отрицательного, действительного и комплексного.
Гамма-функция в среде Matlab имеет представление только для действительного положительного n.
Неполная гамма-функция определяется как
· gamma (n) — возвращает гамма-функцию элементов n. Аргумент n должен быть вещественным.
· gammainс(X,n) — возвращает неполную гамма-функцию соответствующих элементов X и n. Аргументы X и n должны быть вещественными и иметь одинаковый размер (или любой из них может быть скалярным).
· gammaln(A) —возвращает логарифмическую гамма-функцию, gammaln(n) = 1og(gamma(A)). Команда gammaln позволяет избежать переполнения, которое может происходить, если вычислять логарифмическую гамма-функцию непосредственно, используя 1og(gamma(A)).
Примеры:
>> n=[0,1,2,6.5,-3,4.2];
>> d=gamma(n)
d = Inf1.0000 1.0000 287.8853 Inf 7.7567
% из примера видно, что гамма-функцию чисел 0 и -3 программа не вычисляет
>> n=[0,1,2,6.5,3,4.2];
>> x=[2,4,5,6,5,3];f=gammainc(x,n)
f = 1.0000 0.9817 0.9596 0.4724 0.8753 0.3137
>> f=gammainc([4 5],[1 2])
f =0.9817 0.9596
>> n=[0,1,2,6.5,-3,4.2];
>> k=gammaln(n)
k = Inf 0 0 5.6626 Inf 2.0486
Следует иметь в виду, что при вычислении факториала целого числа . Если необходимо вычислить 5!, то гамма-функция будет иметь вид: gamma(6)
>> gamma([1,2,3,-6,5.5, 6])
ans = 1.0000 1.0000 2.0000 Inf 52.3428 120.0000
Гамма-функция имеет довольно сложный».
>> ezplot(gamma(x),[-4,4])
>> grid on
Рис.График гамма-функции
Это можно осуществить с помощью следующего файла-сценария:
%Ganrna- function graphicclear syms x
ezplot(gamma(x).[-4 4]) grid on
Гамма-функция вычисляется по известному алгоритму W. J. Kody (1989 г.). Для вычисления неполной гамма-функции используются рекуррентные формулы.
Бета-функция определяется как несобственный интеграл, зависящий от двух параметров х, у.
Неполная бета-функция определяется по формуле:
При практических расчётах бета-функция наиболее часто вычисляется через гамма-функцию:
· beta(х, у) — возвращает бета-функцию для соответствующих элементов комплексных массивов х, у. Массивы должны быть одинакового размера (или одна из величин может быть скаляром).
· betainc ( z , x, y) — возвращает неполную бета-функцию. Элементы z должны быть в закрытом интервале [0, 1].
· betaln (х, у) — возвращает натуральный логарифм бета-функции log ( beta (х, у) ) , без вычисления beta(x, y). Так как сама бета-функция может принимать очень большие или очень малые значения, функция betaln(x, y) иногда более полезна, так как позволяет избежать переполнения.
Функции Эйри (airy) формируют пару линейно-независимых решений линейного дифференциального уравнения следующего вида.
Существуют два вида функции Эйри – первого и второго рода.
Функция первого рода Ai(x,n) при х = 0 имеет вид: ,
в противном случае , где
Функция второго рода Bi(x,n) при х = 0 имеет вид:
в противном случае , где
Функции Эйри в системе MATLAB задаются следующим образом:
w=airy (z) — функция Эйри первого порядка;
w=airy(k,z) — результат зависит от значений k: при k = 1 возвращается производная функции Эйри первого рода; при k = 2 возвращается функция Эйри второго рода; при k = 3 возвращается производная функции Эйри второго рода;
[w,ierr] = airy(k,z) — во втором выходном аргументе возвращается информация о вычислении значений функции Эйри (ierr = 0 — функция Эйри успешно вычислена; i e r r = l — неверно заданы входные аргументы; ierr = 2 — переполнение, ответ равен Inf; ierr = 3 — частичная потеря точности при вычислениях; ierr = 4 — полная потеря точности при вычислениях, так как z слишком большое; ierr = 5 — вычислительный процесс не сходится, результат будет NaN).
В системе MATLAB функции Эйри вычисляются при одном фиксированном значении суммы ряда n.
>> y=[0,3.2,-3.2,2+3i];
>> airy(y)
ans = 0.3550 0.0046 -0.4174 + 0.0000i 0.0081 + 0.1312i
>> airy(0,y)
ans = 0.3550 0.0046 -0.4174 + 0.0000i 0.0081 + 0.1312i
>> airy(1,y)
ans = -0.2588 -0.0085 0.0650 - 0.0000i 0.0967 - 0.2320i
>> airy(2,y)
ans = 0.6149 19.5870 -0.0539 + 0.0000i -0.3964 - 0.5697i
>> airy(3,y)
ans = 0.4483 33.2577 -0.7541 + 0.0000i 0.3495 - 1.1053i