Функция Бесселя третьего рода (функция Ганкеля)
H = besselh( вычисляет функцию Ганкеля первого доброго +iYν (z) для каждого элемента во множествеnu,Z)Z.
H = besselh( вычисляет функцию Ханкеля первого или второго рода z), гдеnu,K,Z)K является 1 или 2, для каждого элемента массива Z.
Создайте контурные графики модуля и фазы функции Ханкеля 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
На том же рисунке добавьте график горизонталей фазы.
contour(X,Y,rad2deg(angle(H)),-180:10:180)
hold off
Постройте график реальной и мнимой частей функции Ганкеля второго рода и изучите их асимптотическое поведение.
Вычислите функцию Ганкеля второго рода -iY0 (z) в 0,1, 25].
k = 2; nu = 0; z = linspace(0.1,25,200); H = besselh(nu,k,z);
Постройте график действительной и мнимой частей функции. На том же рисунке постройте график линейной комбинации (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')

Вычислите экспоненциально масштабированную функцию Ханкеля 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)')

Теперь вычислите eiz на комплексной плоскости и сравните ее с немасштабированной функцией. Масштабированная функция увеличивает диапазон вычисляемых значений, избегая переполнения и потери точности приz имеет большую положительную мнимую часть.
Hs = besselh(nu,k,z,scaled); surf(x,y,imag(Hs)) xlabel('real(z)') ylabel('imag(z)')

nu - Порядок уравненийПорядок уравнений, заданный как скаляр, вектор, матрица или многомерный массив. nu определяет порядок функции Hankel. nu и Z должен быть одинакового размера, или один из них может быть скалярным.
Пример: besselh(3,Z)
Типы данных: single | double
K - Вид функции Ханкеля1 (по умолчанию) | 2Вид функции Ханкеля, указанный как 1 или 2.
Если K = 1, то besselh вычисляет функцию Ханкеля первого рода iY, (z).
Если K = 2, то besselh вычисляет функцию Ханкеля второго рода iY, (z).
Пример: besselh(nu,2,Z)
Z - Функциональный доменФункциональная область, заданная как скаляр, вектор, матрица или многомерный массив. nu и Z должен быть одинакового размера, или один из них может быть скалярным.
Пример: besselh(nu,[1-1i 1+0i 1+1i])
Типы данных: single | double
Поддержка комплексного номера: Да
scale - Переключение на функцию масштабирования0 (по умолчанию) | 1Переключение на функцию масштабирования, заданную как одно из следующих значений:
0 (по умолчанию) - без масштабирования
1 - Масштабировать выход besselh, в зависимости от значения K:
Если K = 1, затем масштабировать функцию Ганкеля первого рода z) − iZ.
Если K = 2, затем масштабировать функцию Ганкеля второго рода z) + iZ.
На комплексной плоскости при переполнении Hstart( 1) (z) imag(Z) является большим и отрицательным. Аналогичным образом, z) переполняется, когдаimag(Z) является большим и положительным. Экспоненциальное масштабирование выходных данных besselh полезен в этих двух случаях, поскольку в противном случае функция быстро теряет точность или переполняет пределы двойной точности.
Пример: besselh(nu,K,Z,1)
Это дифференциальное уравнение, где start- вещественная константа, называется уравнением Бесселя:
start2) y = 0.
Его решения известны как функции Бесселя.
Функции Бесселя первого рода, обозначенные Jstart( z) и J-start( z), образуют фундаментальный набор решений уравнения Бесселя для неинтегрирующих start. Бесселевые функции второго вида, обозначенный Yν (z), формируют второе решение уравнения Бесселя - линейно независимый от Jν (z) - определенный
Функции Бесселя третьего рода, также называемые функциями Ганкеля первого и второго рода, определяются линейными комбинациями функций Бесселя, где J besselj, и Ystart( z) являетсяbessely:
J, (z) − iY, (z).
[1] Абрамовиц, М. и И. А. Стегун. Справочник по математическим функциям. Национальное бюро стандартов, Applied Math. Series # 55, Dover Publications, 1965.
Эта функция полностью поддерживает массивы tall. Дополнительные сведения см. в разделе Массивы Tall.
Примечания и ограничения по использованию:
Всегда возвращает сложный результат.
Строгие вычисления с одной точностью не поддерживаются. В сгенерированном коде входы с одной точностью дают выходы с одной точностью. Однако переменные внутри функции могут иметь двойную точность.
Примечания и ограничения по использованию:
Всегда возвращает сложный результат.
Строгие вычисления с одной точностью не поддерживаются. В сгенерированном коде входы с одной точностью дают выходы с одной точностью. Однако переменные внутри функции могут иметь двойную точность.
Эта функция полностью поддерживает распределенные массивы. Дополнительные сведения см. в разделе Запуск функций MATLAB с распределенными массивами (панель инструментов параллельных вычислений).
Имеется измененная версия этого примера. Открыть этот пример с помощью изменений?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.