besselk

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

Описание

пример

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

пример

K = besselk(nu,Z,scale) определяет, следует ли экспоненциально масштабировать измененную функцию Бесселя второго рода, чтобы избежать нижнего потока или потери точности. Если scale является 1, затем выход besselk масштабируется в несколько раз exp(Z).

Примеры

свернуть все

Определите область.

z = 0:0.01:5;

Вычислите первые пять измененных функций Бесселя второго рода. Каждая строка K содержит значения одного порядка функции, вычисленные в точках в z.

K = zeros(5,501);
for i = 0:4
    K(i+1,:) = besselk(i,z);
end

Постройте график всех функций на том же рисунке.

plot(z,K)
axis([0 5 0 8])
grid on
legend('K_0','K_1','K_2','K_3','K_4','Location','Best')
title('Modified Bessel Functions of the Second Kind for $\nu \in [0,4]$','interpreter','latex')
xlabel('z','interpreter','latex')
ylabel('$K_\nu(z)$','interpreter','latex')

Figure contains an axes. The axes with title Modified Bessel Functions of the Second Kind for $\nu \in [0,4]$ contains 5 objects of type line. These objects represent K_0, K_1, K_2, K_3, K_4.

Вычислим масштабированные измененные функции Бесселя второго рода Kν(z)ez для значений z в интервале [0,5] и для порядков ν от 0 до 3.

z = linspace(0,5);
scale = 1;
Ks = zeros(4,100);
for nu = 0:3
  Ks(nu+1,:) = besselk(nu,z,scale);
end

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

plot(z,Ks)
ylim([0 3])
legend('K_0','K_1','K_2','K_3')
title('Scaled Mod. Bessel Functions of the Second Kind for $\nu \in \left[0, 3 \right]$','interpreter','latex')
xlabel('z','interpreter','latex')
ylabel('$K_\nu(z) \cdot e^{z}$','interpreter','latex')

Figure contains an axes. The axes with title Scaled Mod. Bessel Functions of the Second Kind for $\nu \in \left[0, 3 \right]$ contains 4 objects of type line. These objects represent K_0, K_1, K_2, K_3.

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

свернуть все

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

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

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

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

Пример: besselk(nu,0:3)

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

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

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

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

Значение besselk быстро уменьшается по мере того, как значение Z увеличивается, поэтому экспоненциальное масштабирование выхода полезно для больших значений Z где результаты в противном случае быстро теряют точность или снижают пределы двойной точности.

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

Подробнее о

свернуть все

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

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

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

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

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

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

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

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

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

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

..

См. также

| | | |

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