exponenta event banner

besselh

Функция Бесселя третьего рода (функция Ганкеля)

Описание

пример

H = besselh(nu,Z) вычисляет функцию Ганкеля первого доброго (1) (z) =Jν (z) +iYν (z) для каждого элемента во множествеZ.

пример

H = besselh(nu,K,Z) вычисляет функцию Ханкеля первого или второго рода Hstart( K) (z), гдеK является 1 или 2, для каждого элемента массива Z.

пример

H = besselh(nu,K,Z,scale) определяет необходимость масштабирования функции Hankel во избежание переполнения или потери точности. Если scale является 1, то функции Ханкеля первого рода Hstart( 1) (z) масштабируются на e − iZ, а функции Ханкеля второго рода Hstart( 2) (z) масштабируются на e + iZ.

Примеры

свернуть все

Создайте контурные графики модуля и фазы функции Ханкеля H0 (1) (z) [1].

Создайте сетку значений для домена.

[X,Y] = meshgrid(-4:0.002:2,-1.5:0.002:1.5);

Вычислите функцию Ханкеля для этой области и создайте график контура модуля.

H = besselh(0,X+1i*Y);
contour(X,Y,abs(H),0:0.2:3.2)
hold on

Figure contains an axes. The axes contains an object of type contour.

На том же рисунке добавьте график горизонталей фазы.

contour(X,Y,rad2deg(angle(H)),-180:10:180)
hold off

Figure contains an axes. The axes contains 2 objects of type contour.

Постройте график реальной и мнимой частей функции Ганкеля второго рода и изучите их асимптотическое поведение.

Вычислите функцию Ганкеля второго рода H0 (2) (z) = J0 (z) -iY0 (z) в интервале [0,1, 25].

k = 2;
nu = 0;
z = linspace(0.1,25,200);
H = besselh(nu,k,z);

Постройте график действительной и мнимой частей функции. На том же рисунке постройте график линейной комбинации J02 (z) + Y02 (z), которая выявляет асимптотическое поведение величин действительной и мнимой частей.

plot(z,real(H),z,imag(H))
grid on
hold on
M = sqrt(real(H).^2 + imag(H).^2);
plot(z,M,'--')
legend('$J_0(z)$', '$Y_0(z)$', '$\sqrt{J_0^2 (z) + Y_0^2 (z)}$','interpreter','latex')

Figure contains an axes. The axes contains 3 objects of type line. These objects represent $J_0(z)$, $Y_0(z)$, $\sqrt{J_0^2 (z) + Y_0^2 (z)}$.

Вычислите экспоненциально масштабированную функцию Ханкеля H1 (2) (z) eiz на комплексной плоскости и сравните ее с немасштабированной функцией.

Вычислите немасштабированную функцию Ханкеля второго порядка на комплексной плоскости. Когда z имеет большую положительную мнимую часть, значение функции быстро расходится. Это явление ограничивает диапазон вычисляемых значений.

k = 2;
nu = 1;
x = -5:0.4:15;
y = x';
z = x + 1i*y;
scaled = 1;
H = besselh(nu,k,z);
surf(x,y,imag(H))
xlabel('real(z)')
ylabel('imag(z)')

Figure contains an axes. The axes contains an object of type surface.

Теперь вычислите H1 (2) (z) eiz на комплексной плоскости и сравните ее с немасштабированной функцией. Масштабированная функция увеличивает диапазон вычисляемых значений, избегая переполнения и потери точности приz имеет большую положительную мнимую часть.

Hs = besselh(nu,k,z,scaled);
surf(x,y,imag(Hs))
xlabel('real(z)')
ylabel('imag(z)')

Figure contains an axes. The axes contains an object of type surface.

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

свернуть все

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

Пример: besselh(3,Z)

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

Вид функции Ханкеля, указанный как 1 или 2.

  • Если K = 1, то besselh вычисляет функцию Ханкеля первого рода H, (1) (z) = J, (z) + iY, (z).

  • Если K = 2, то besselh вычисляет функцию Ханкеля второго рода H, (2) (z) = J, (z) iY, (z).

Пример: besselh(nu,2,Z)

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

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

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

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

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

  • 1 - Масштабировать выход besselh, в зависимости от значения K:

    • Если K = 1, затем масштабировать функцию Ганкеля первого рода Hstart( 1) (z) на e − iZ.

    • Если K = 2, затем масштабировать функцию Ганкеля второго рода H( 2) (z) на e + iZ.

    На комплексной плоскости при переполнении Hstart( 1) (z) imag(Z) является большим и отрицательным. Аналогичным образом, H, (2) (z) переполняется, когдаimag(Z) является большим и положительным. Экспоненциальное масштабирование выходных данных besselh полезен в этих двух случаях, поскольку в противном случае функция быстро теряет точность или переполняет пределы двойной точности.

Пример: besselh(nu,K,Z,1)

Подробнее

свернуть все

Функции Ганкеля и уравнение Бесселя

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

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

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

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

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

Функции Бесселя третьего рода, также называемые функциями Ганкеля первого и второго рода, определяются линейными комбинациями функций Бесселя, где J besselj, и Ystart( z) являетсяbessely:

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

Ссылки

[1] Абрамовиц, М. и И. А. Стегун. Справочник по математическим функциям. Национальное бюро стандартов, Applied Math. Series # 55, Dover Publications, 1965.

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

..

См. также

| | |

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