besselh

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

Описание

пример

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

пример

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

пример

H = besselh(nu,K,Z,scale) задает, масштабировать ли функцию Ганкеля, чтобы избежать переполнения или потери точности. Если scale 1, затем функции Ганкеля первого вида Hν(1)(z) масштабируются eiZ, и функции Ганкеля второго вида Hν(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 object. The axes object contains an object of type contour.

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

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

Figure contains an axes object. The axes object 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 object. The axes object 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 object. The axes object 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 object. The axes object contains an object of type surface.

Входные параметры

свернуть все

Порядок уравнения в виде скаляра, вектора, матрицы или многомерного массива. nu задает порядок функции Ганкеля. 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, затем масштабируйте функцию Ганкеля первого вида Hν(1)(z) eiZ.

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

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

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

Больше о

свернуть все

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

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

z2d2ydz2+zdydz+(z2ν2)y=0.

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

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

Yν(z)=Jν(z)cos(νπ)Jν(z)sin(νπ).

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

Hν(1)(z)=Jν(z)+iYν(z)Hν(2)(z)=Jν(z)iYν(z).

Ссылки

[1] Abramowitz, M. и И.А. Стегун. Руководство математических функций. Национальное бюро стандартов, прикладная математика. Серия № 55, Дуврские публикации, 1965.

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

Смотрите также

| | |

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