Линейное дифференциальное
уравнение второго порядка вида
где v — неотрицательная
константа, называется
уравнением Бесселя,
а его решения известны как
функции Бесселя.
Функции J
v
(z) и J_
v
(z) формируют
фундаментальное множество решений уравнения Бесселя для неотрицательных значений
п (это так называемые
функции Бесселя первого рода):
где
для гамма-функции используется следующее представление:
Второе решение
уравнения Бесселя, линейно независимое от J
v
(z), определяется как
и задает
функции Бесселя
второго рода
Y
v
(z).
Функции
Бесселя третьего рода
(функции Ханкеля) и функция
Бесселя первого
и
второго рода связаны следующим выражением:
bessel
j(nu,Z) — возвращает функцию Бесселя первого рода, J
v
(z), для
каждого элемента комплексного массива Z. Порядок ш может не быть целым,
однако должен быть вещественным. Аргумент Z может быть комплексным. Результат
вещественный, если Z положительно. Если nu и Z — массивы одинакового размера,
то результат имеет тот же размер. Если любая входная величина — скаляр,
результат расширяется до размера другой входной величины. Если одна входная
величина — вектор-строка, а другая — вектор-столбец, результат представляет
собой двумерный массив значений функции.
bessely(nu.Z)
— возвращает функцию Бесселя второго рода, Y
v
(z).
[J.ierr] = besse1j(nu,Z) и [Y.ierr] = bessely(nu.Z) функции всегда возвращают
массив с флагами ошибок:
ierr
= 1 — запрещенные аргументы;
ierr
= 2 — переполнение (возвращает Inf);
ierr
= 3 — некоторая потеря точности при приведении аргумента;
ierr
= 4 — недопустимая потеря точности: Z или nu слишком велики;
besselh(nu,К,Z)
— для К=1 или 2 возвращает функцию Бесселя третьего рода (функцию Ханкеля)
для каждого элемента комплексного массива Z. Если nu и Z — массивы одинакового
размера, то результат имеет тот же размер. Если одна из входных величин
— скаляр, результат формируется по размеру другой входной величины. Если
одна входная величина — вектор-строка, а другая — вектор-столбец, результат
представляет собой двумерный массив значений функции.
bessel
h(nu.Z) — использует по умолчанию К = 1.
besselh(nu.l.Z.l)
— масштабирует H
(1)
v
(z) с коэффициентом exp(-i*z).
besse1h(nu,2,Z.l)
— масштабирует H
(2)
v
(z) с коэффициентом exp(+i*z).
[H.ierr]
= besselhC...) — всегда возвращает массив с флагами ошибок:
ierr
= 1 — запрещенные аргументы;
ierr
= 2 — переполнение (возвращает Inf);
ierr
= 3 — некоторая потеря точности при приведении аргумента;
ierr
= 4 — недопустимая потеря точности: Z или nu слишком велики;
ierr
= 5 — нет сходимости (возвращает NaN).
»
D=[1.3+2i];F=[3.2]:[K.ierr]=besselk(F,D)
К =
7.1013
-0.0401 - 0.02851
lerr
=
0
0
Естественно,
что возможно построение графиков специальных функций.
В качестве
примера рассмотрим m-файл-сценарий, приведенный ниже:
х=0:0.1:10;
y0=besselj(0.x);
y1=besselj(1.x):
y2=besselj(2.x);
y3=besselj(3.x);
plot(x,y0,.'-m',x,y1,'-r',x,y2,'-.k',x,y3,'-b')
legend('besselj(0.x)'.
'besselj(l.x)' ,'besse1j(2,x)'.
(
besselj(3,x)');
Рис. 9.1 иллюстрирует
построение четырех функций Бесселя bessel j(n,x) для п-0, 1, 2 и 3 с легендой,
облегчающей идентификацию каждой кривой рисунка.
Рис.
9.1.
Графики четырех функций Бесселя besselj(n,x)
Эти графики
дают наглядное представление о поведении функций Бесселя, широко используемых
при анализе поведения систем, описываемых линейными дифференциальными уравнениями
второго порядка.