Функция Бесселя первого вида
J = besselj(
вычисляет функцию Бесселя первого рода
J ν (z) для каждого элемента в массиве nu
,Z
)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')
Вычислите немасштабированное (J
) и масштабируемый (Js
) Функция Бесселя первого рода для комплексных чисел .
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')
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')
nu
— Порядок уравненияПорядок уравнения в виде скаляра, вектора, матрицы или многомерного массива. nu
вещественное число, которое задает порядок функции Бесселя первого рода. nu
и Z
должен быть одного размера, или один из них может быть скаляром.
Пример: besselj(3,0:5)
Типы данных: single
| double
Z
— Функциональная областьФункциональная область в виде скаляра, вектора, матрицы или многомерного массива. besselj
с действительным знаком где Z
положительно. nu
и Z
должен быть одного размера, или один из них может быть скаляром.
Пример: besselj(1,[1-1i 1+0i 1+1i])
Типы данных: single
| double
Поддержка комплексного числа: Да
scale
— Переключитесь, чтобы масштабировать функцию
(значение по умолчанию) | 1
Переключитесь, чтобы масштабировать функцию в виде одного из этих значений:
0 (значение по умолчанию) — Никакое масштабирование
1 — Масштабируйте выход
besselj
exp(-abs(imag(Z)))
На комплексной плоскости, величине besselj
растет быстро как значение abs(imag(Z))
увеличения, таким образом, экспоненциально масштабирование выхода полезно для больших значений abs(imag(Z))
где результаты в противном случае быстро теряют точность или переполняют пределов двойной точности.
Пример: besselj(3,0:5,1)
Это дифференциальное уравнение, где ν является вещественной константой, называется уравнением функции Бесселя:
Его решения известны как Функции Бесселя.
Функции Бесселя первого рода, обозначенный J ν (z) и J –ν (z), формируют основной набор решений уравнения функции Бесселя для нецелого числа ν. J ν (z) задан
Функции Бесселя второго доброго, обозначенного Y ν (z), сформируйте второе решение уравнения функции Бесселя, которое линейно независимо от J ν (z). Y ν (z) задан
Можно вычислить Функции Бесселя второго доброго использования bessely
.
Функции Бесселя связаны с функциями Ганкеля, также вызванные Функции Бесселя третьего вида:
besselh
, J ν (z) besselj
, и Y ν (z) bessely
. Функции Ганкеля также формируют основной набор решений уравнения функции Бесселя (см. besselh
).
Эта функция полностью поддерживает "высокие" массивы. Для получения дополнительной информации см. Раздел "Высокие массивы".
Указания и ограничения по применению:
Всегда возвращает комплексный результат.
Строгие вычисления с одинарной точностью не поддерживаются. В сгенерированном коде входные параметры с одинарной точностью производят выходные параметры с одинарной точностью. Однако переменные в функциональной силе быть с двойной точностью.
Указания и ограничения по применению:
Всегда возвращает комплексный результат.
Строгие вычисления с одинарной точностью не поддерживаются. В сгенерированном коде входные параметры с одинарной точностью производят выходные параметры с одинарной точностью. Однако переменные в функциональной силе быть с двойной точностью.
backgroundPool
или ускорьте код с Parallel Computing Toolbox™ ThreadPool
.Эта функция полностью поддерживает основанные на потоке среды. Для получения дополнительной информации смотрите функции MATLAB Запуска в Основанной на потоке Среде.
Указания и ограничения по применению:
Порядок nu
должно быть положительное, действительное, целочисленное.
Аргумент Z
должно быть вещественное значение.
Синтаксис с тремя входами J = besselj(nu,Z,scale)
не поддерживается.
Для получения дополнительной информации смотрите функции MATLAB Запуска на графическом процессоре (Parallel Computing Toolbox).
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите функции MATLAB Запуска с Распределенными Массивами (Parallel Computing Toolbox).
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.