Функция Бесселя третьего вида (функция Ганкеля)
H = besselh(
вычисляет функцию Ганкеля первого вида для каждого элемента в массиве nu
,Z
)Z
.
H = besselh(
вычисляет функцию Ганкеля первого или второго вида , где nu
,K
,Z
)K
1
или 2
, для каждого элемента массива 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
Постройте действительные и мнимые части функции Ганкеля второго вида и исследуйте их асимптотическое поведение.
Вычислите функцию Ганкеля второго вида в интервале .
k = 2; nu = 0; z = linspace(0.1,25,200); H = besselh(nu,k,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')
Вычислите экспоненциально масштабированную функцию Ганкеля на комплексной плоскости и сравнивают его с немасштабированной функцией.
Вычислите немасштабированную функцию Ганкеля второго порядка на комплексной плоскости. Когда 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)')
Теперь вычислите на комплексной плоскости и сравнивают его с немасштабированной функцией. Масштабированная функция увеличивает область значений вычислимых значений путем предотвращения переполнения и потери точности когда z
имеет большую положительную мнимую часть.
Hs = besselh(nu,k,z,scaled); surf(x,y,imag(Hs)) xlabel('real(z)') ylabel('imag(z)')
nu
— Порядок уравненияПорядок уравнения, заданный как скаляр, вектор, матрица или многомерный массив. nu
задает порядок функции Ганкеля. nu
и Z
должен быть одного размера, или один из них может быть скаляром.
Пример: besselh(3,Z)
Типы данных: single
| double
K
— Вид функции Ганкеля
(значение по умолчанию) | 2
Вид функции Ганкеля, заданной как 1
или 2
.
Если K = 1
, затем besselh
вычисляет функцию Ганкеля первого вида .
Если K = 2
, затем besselh
вычисляет функцию Ганкеля второго вида .
Пример: besselh(nu,2,Z)
Z
— Функциональная областьФункциональная область, заданная как скаляр, вектор, матрица или многомерный массив. nu
и Z
должен быть одного размера, или один из них может быть скаляром.
Пример: besselh(nu,[1-1i 1+0i 1+1i])
Типы данных: single
| double
Поддержка комплексного числа: Да
scale
— Переключитесь, чтобы масштабировать функцию
(значение по умолчанию) | 1
Переключитесь, чтобы масштабировать функцию, заданную как одно из этих значений:
0 (значение по умолчанию) — Никакое масштабирование
1 — Масштабируйте выход
besselh
, В зависимости от значения K
:
Если K = 1
, затем масштабируйте функцию Ганкеля первого вида .
Если K = 2
, затем масштабируйте функцию Ганкеля второго вида .
На комплексной плоскости, переполнение, когда imag(Z)
является большим и отрицательным. Точно так же переполнение, когда imag(Z)
является большим и положительным. Экспоненциально масштабируя выход besselh
полезно в этих двух случаях, поскольку функция в противном случае быстро теряет точность или переполняет пределов двойной точности.
Пример: besselh(nu,K,Z,1)
Это дифференциальное уравнение, где ν является вещественной константой, называется уравнением функции Бесселя:
Его решения известны как Функции Бесселя.
Функции Бесселя первого доброго, обозначенного J ν (z) и J –ν (z), сформируйте основной набор решений уравнения функции Бесселя для нецелого числа ν. Функции Бесселя второго доброго, обозначенного Y ν (z), сформируйте второе решение уравнения функции Бесселя — линейно независимый от J ν (z) — заданный
Функции Бесселя третьего вида, также вызвал функции Ганкеля первого и второго вида, заданы линейными комбинациями Функций Бесселя, где J ν (z) является besselj
, и Y ν (z) является bessely
:
[1] Abramowitz, M. и И.А. Стегун. Руководство математических функций. Национальное бюро стандартов, прикладная математика. Серия № 55, Дуврские публикации, 1965.
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации см. Раздел "Высокие массивы".
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
Вы щелкнули по ссылке, которая соответствует команде MATLAB:
Выполните эту команду, введя её в командном окне MATLAB.
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.