exponenta event banner

besselj

Функция Бесселя первого рода

Описание

пример

J = besselj(nu,Z) вычисляет функцию Бесселя первого рода Jstart( z) для каждого элемента в массиве Z.

пример

J = besselj(nu,Z,scale) определяет необходимость экспоненциального масштабирования функции Бесселя первого рода во избежание переполнения или потери точности. Если scale является 1, то выход besselj масштабируется на коэффициент exp(-abs(imag(Z))).

Примеры

свернуть все

Определите домен.

z = 0:0.1:20;

Вычислите первые пять функций Бесселя первого рода. Каждая строка J содержит значения одного порядка функции, вычисленные в точках в z.

J = zeros(5,201);
for i = 0:4
    J(i+1,:) = besselj(i,z);
end

Постройте график всех функций на одном рисунке.

plot(z,J)
grid on
legend('J_0','J_1','J_2','J_3','J_4','Location','Best')
title('Bessel Functions of the First Kind for $\nu \in [0, 4]$','interpreter','latex')
xlabel('z','interpreter','latex')
ylabel('$J_\nu(z)$','interpreter','latex')

Figure contains an axes. The axes with title Bessel Functions of the First Kind for $\nu \in [0, 4]$ contains 5 objects of type line. These objects represent J_0, J_1, J_2, J_3, J_4.

Вычислите немасштабированное значение (J) и масштабированы (Js) функция Бесселя первого рода J2 (z) для комплексных значений z.

x = -10:0.3:10;
y = x';
z = x + 1i*y;
scale = 1;
J = besselj(2,z);
Js = besselj(2,z,scale);

Сравните графики мнимой части масштабированных и немасштабированных функций. Для больших значений abs(imag(z)), немасштабированная функция быстро перетекает пределы двойной точности и перестает быть вычисляемой. Масштабированная функция удаляет это доминирующее экспоненциальное поведение из вычисления и, таким образом, имеет больший диапазон вычисляемости по сравнению с немасштабированной функцией.

surf(x,y,imag(J))
title('Bessel Function of the First Kind','interpreter','latex')
xlabel('real(z)','interpreter','latex')
ylabel('imag(z)','interpreter','latex')

Figure contains an axes. The axes with title Bessel Function of the First Kind contains an object of type surface.

surf(x,y,imag(Js))
title('Scaled Bessel Function of the First Kind','interpreter','latex')
xlabel('real(z)','interpreter','latex')
ylabel('imag(z)','interpreter','latex')

Figure contains an axes. The axes with title Scaled Bessel Function of the First Kind contains an object of type surface.

Входные аргументы

свернуть все

Порядок уравнений, заданный как скаляр, вектор, матрица или многомерный массив. nu - вещественное число, указывающее порядок функции Бесселя первого рода. nu и Z должен быть одинакового размера, или один из них может быть скалярным.

Пример: besselj(3,0:5)

Типы данных: single | double

Функциональная область, заданная как скаляр, вектор, матрица или многомерный массив. besselj является действительным, где Z является положительным. nu и Z должен быть одинакового размера, или один из них может быть скалярным.

Пример: besselj(1,[1-1i 1+0i 1+1i])

Типы данных: single | double
Поддержка комплексного номера: Да

Переключение на функцию масштабирования, заданную как одно из следующих значений:

  • 0 (по умолчанию) - без масштабирования

  • 1 - Масштабировать выход besselj около exp(-abs(imag(Z)))

На комплексной плоскости величина besselj быстро растет по мере того, как значение abs(imag(Z)) увеличивается, поэтому экспоненциальное масштабирование выходного сигнала полезно для больших значений abs(imag(Z)) где результаты в противном случае быстро теряют точность или переполняют пределы двойной точности.

Пример: besselj(3,0:5,1)

Подробнее

свернуть все

Функции Бесселя

Это дифференциальное уравнение, где start- вещественная константа, называется уравнением Бесселя:

z2d2ydz2 + zdydz + (z2 start2) y = 0.

Его решения известны как функции Бесселя.

Функции Бесселя первого рода, обозначенные Jstart( z) и J-start( z), образуют фундаментальный набор решений уравнения Бесселя для неинтегрирующих start. Jstart( z) определяется

Jstart( z) = (z2) ν∑ (k = 0) (z24) kk! Γ (start+ k + 1).

Функции Бесселя второго рода, обозначенные Ystart( z), образуют второе решение уравнения Бесселя, линейно не зависящее от Jstart( z). Ystart( z) определяется как

Y, (z) = J, (z) cos (startδ) − J

Функции Бесселя второго рода можно вычислить с помощью bessely.

Совет

Функции Бесселя связаны с функциями Ганкеля, также называемыми функциями Бесселя третьего рода:

H, (1) (z) = J, (z) + i Y, (z) H, (2), (z) = J, (z) − i, Y, (z).

Hstart( K) (z) =besselh, Jstart( z) являетсяbesselj, и Ystart( z) являетсяbessely. Функции Ганкеля также образуют фундаментальный набор решений уравнения Бесселя (см. besselh).

Расширенные возможности

..

См. также

| | |

Представлен до R2006a