Измененная функция Бесселя первого рода
I = besseli(
вычисляет измененную функцию Бесселя первого рода
I ν (z) для каждого элемента в массиве Znu
,Z
).
Определите область.
z = 0:0.01:5;
Вычислите первые пять измененных функций Бесселя первого рода. Каждая строка I
содержит значения одного порядка функции, вычисленные в точках в z
.
I = zeros(5,501); for nu = 0:4 I(nu+1,:) = besseli(nu,z); end
Постройте график всех функций на том же рисунке.
plot(z,I) axis([0 5 0 8]) grid on legend('I_0','I_1','I_2','I_3','I_4','Location','NorthWest') title('Modified Bessel Functions of the First Kind for $\nu \in [0,4]$','interpreter','latex') xlabel('z','interpreter','latex') ylabel('$I_\nu(z)$','interpreter','latex')
Вычислите масштабированную измененную функцию Бесселя первого рода для значений в интервале и для порядков от 0 до 3.
z = linspace(0,20); scale = 1; Is = zeros(4,100); for nu = 0:3 Is(nu+1,:) = besseli(nu,z,scale); end
Постройте график всех функций на том же рисунке. Для больших значений масштабированные функции не переполняют пределы двойной точности, расширяя область значений вычисляемости по сравнению с немасштабированными функциями.
plot(z,Is) legend('I_0','I_1','I_2','I_3') title('Scaled Mod. Bessel Functions of the First Kind for $\nu \in \left[0, 3 \right]$','interpreter','latex') xlabel('z','interpreter','latex') ylabel('$e^{-|{z}|} \cdot I_\nu(z)$','interpreter','latex')
nu
- Порядок уравненияПорядок уравнения, заданный как скаляр, вектор, матрица или многомерный массив. nu
является вещественным числом, которое задает порядок измененной функции Бесселя первого рода. nu
и Z
должен быть того же размера, или один из них может быть скалярным.
Пример: besseli(3,Z)
Типы данных: single
| double
Z
- Функциональная областьФункциональная область, заданная как скалярный, векторный, матричный или многомерный массив. besseli
является реальным, где Z
положительно. nu
и Z
должен быть того же размера, или один из них может быть скалярным.
Пример: besseli(nu,[1-1i 1+0i 1+1i])
Типы данных: single
| double
Поддержка комплексного числа: Да
scale
- Переключение на функцию масштабирования0
(по умолчанию) | 1
Переключение на масштабную функцию, заданное как одно из следующих значений:
0
(по умолчанию) - Без масштабирования
1
- Масштабируйте выходные данные besseli
по exp(-abs(real(Z)))
Величина besseli
быстро растет как значение abs(real(Z))
увеличивается, поэтому экспоненциальное масштабирование выхода полезно для больших значений abs(real(Z))
, где результаты в противном случае быстро теряют точность или переполняют пределы двойной точности.
Пример: besseli(nu,Z,1)
Это дифференциальное уравнение, где ν является действительной константой, называется модифицированным уравнением Бесселя:
Его решения известны как модифицированные функции Бесселя.
Измененные функции Бесселя первого рода, обозначенные I ν (z) и I - ν (z), образуют фундаментальный набор решений модифицированного уравнения Бесселя. I ν (z) определяется как
Измененные функции Бесселя второго рода, обозначенные K ν (z), образуют второе решение, независимое от I ν (z), заданное как
Вычислить измененные функции Бесселя второго рода можно используя besselk
.
Эта функция полностью поддерживает длинные массивы. Для получения дополнительной информации см. Раздел «Длинные массивы»
Указания и ограничения по применению:
Всегда возвращает комплексный результат.
Строгие расчеты с одной точностью не поддерживаются. В сгенерированном коде входы с одной точностью приводят к выходам с одной точностью. Однако переменные внутри функции могут быть с двойной точностью.
Указания и ограничения по применению:
Всегда возвращает комплексный результат.
Строгие расчеты с одной точностью не поддерживаются. В сгенерированном коде входы с одной точностью приводят к выходам с одной точностью. Однако переменные внутри функции могут быть с двойной точностью.
Эта функция полностью поддерживает распределенные массивы. Для получения дополнительной информации смотрите Запуск функций MATLAB с распределенными массивами (Parallel Computing Toolbox).
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.