besseli

Измененная функция Бесселя первого рода

Описание

пример

I = besseli(nu,Z) вычисляет измененную функцию Бесселя первого рода I ν (z) для каждого элемента в массиве Z.

пример

I = besseli(nu,Z,scale) определяет, следует ли экспоненциально масштабировать измененную функцию Бесселя первого рода, чтобы избежать переполнения или потери точности. Если scale является 1, затем выход besseli масштабируется по фактору exp(-abs(real(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')

Figure contains an axes. The axes with title Modified Bessel Functions of the First Kind for $\nu \in [0,4]$ contains 5 objects of type line. These objects represent I_0, I_1, I_2, I_3, I_4.

Вычислите масштабированную измененную функцию Бесселя первого рода Iν(z)e-|Re[Z]| для значений z в интервале [0,20] и для порядков ν от 0 до 3.

z = linspace(0,20);
scale = 1;
Is = zeros(4,100);
for nu = 0:3
  Is(nu+1,:) = besseli(nu,z,scale);
end

Постройте график всех функций на том же рисунке. Для больших значений zмасштабированные функции не переполняют пределы двойной точности, расширяя область значений вычисляемости по сравнению с немасштабированными функциями.

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')

Figure contains an axes. The axes with title Scaled Mod. Bessel Functions of the First Kind for $\nu \in \left[0, 3 \right]$ contains 4 objects of type line. These objects represent I_0, I_1, I_2, I_3.

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

свернуть все

Порядок уравнения, заданный как скаляр, вектор, матрица или многомерный массив. nu является вещественным числом, которое задает порядок измененной функции Бесселя первого рода. nu и Z должен быть того же размера, или один из них может быть скалярным.

Пример: besseli(3,Z)

Типы данных: single | double

Функциональная область, заданная как скалярный, векторный, матричный или многомерный массив. besseli является реальным, где Z положительно. nu и Z должен быть того же размера, или один из них может быть скалярным.

Пример: besseli(nu,[1-1i 1+0i 1+1i])

Типы данных: single | double
Поддержка комплексного числа: Да

Переключение на масштабную функцию, заданное как одно из следующих значений:

  • 0 (по умолчанию) - Без масштабирования

  • 1 - Масштабируйте выходные данные besseli по exp(-abs(real(Z)))

Величина besseli быстро растет как значение abs(real(Z)) увеличивается, поэтому экспоненциальное масштабирование выхода полезно для больших значений abs(real(Z)), где результаты в противном случае быстро теряют точность или переполняют пределы двойной точности.

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

Подробнее о

свернуть все

Измененные функции Бесселя

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

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

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

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

Iν(z)=(z2)ν(k=0)(z24)kk!Γ(ν+k+1).

Измененные функции Бесселя второго рода, обозначенные K ν (z), образуют второе решение, независимое от I ν (z), заданное как

Kν(z)=(π2)Iν(z)Iν(z)sin(νπ).

Вычислить измененные функции Бесселя второго рода можно используя besselk.

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

..

См. также

| | | |

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