Main Content

本页翻译不是最新的。点击此处可查看最新英文版本。

besseli

第一类修正贝塞尔函数

说明

示例

I = besseli(nu,Z) 为数组 Z 中的每个元素计算第一类修正贝塞尔函数 Iν(z)

示例

I = besseli(nu,Z,scale) 指定是否呈指数缩放第一类修正贝塞尔函数以避免溢出或精度损失。如果 scale1,则 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 object. The axes object with title Modified Bessel Functions of the First Kind for nu in bracketleft 0 , 4 bracketright, xlabel z, ylabel I indexOf nu baseline leftParenthesis z rightParenthesis contains 5 objects of type line. These objects represent I_0, I_1, I_2, I_3, I_4.

对于 z 在区间 [0,20] 中的值和 0 到 3 之间的阶 ν,计算经过缩放的第一类修正贝塞尔函数 Iν(z)e-|Re[Z]|

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 object. The axes object with title Scaled Mod. Bessel Functions of the First Kind for nu in bracketleft 0 , 3 bracketright, xlabel z, ylabel e toThePowerOf minus verticalbar z verticalbar baseline cdot I indexOf nu baseline leftParenthesis z rightParenthesis contains 4 objects of type line. These objects represent I_0, I_1, I_2, I_3.

输入参数

全部折叠

方程的阶,指定为标量、向量、矩阵或多维数组。nu 是一个实数,用于指定第一类修正贝塞尔函数的阶。nuZ 的大小必须相同,或者其中一个可以为标量。

示例: besseli(3,Z)

数据类型: single | double

函数的域,指定为标量、向量、矩阵或多维数组。besseli 是实数值,其中 Z 是正值。nuZ 的大小必须相同,或者其中一个可以为标量。

示例: besseli(nu,[1-1i 1+0i 1+1i])

数据类型: single | double
复数支持:

切换到缩放函数,指定为下列值之一:

  • 0(默认值)- 无缩放

  • 1 - 按 exp(-abs(real(Z))) 缩放 besseli 的输出

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 之前推出

另请参阅

| | | |