Функции Бесселя
Линейное дифференциальное уравнение второго порядка вида
где 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 слишком велики;
ierr = 5 — нет сходимости (возвращает NaN).
Примеры:
» S=[2-51.4.7];T=[8.l.3]:g=besselj(T,S)
g=
0.1114-0.05081 -0.0660 -0.1676
» S-[2-5i,4.7];T=[8.1.3J;[g.ierr]=bessely(T,S)
g=
0.1871 - 0.03241 0.3979 0.2681
ierr =
0 0 0
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)
Эти графики дают наглядное представление о поведении функций Бесселя, широко используемых при анализе поведения систем, описываемых линейными дифференциальными уравнениями второго порядка.