Main Content

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

besselj

第一类贝塞尔函数

说明

示例

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

示例

J = besselj(nu,Z,scale) 指定是否呈指数缩放第一类贝塞尔函数以避免溢出或精度损失。如果 scale1,则 besselj 的输出按因子 exp(-abs(imag(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')

Figure contains an axes object. The axes object with title Bessel Functions of the First Kind for nu in bracketleft 0 , 4 bracketright, xlabel z, ylabel J indexOf nu baseline leftParenthesis z rightParenthesis contains 5 objects of type line. These objects represent J_0, J_1, J_2, J_3, J_4.

z 的复数值计算未缩放的 (J) 和经过缩放的 (Js) 第一类贝塞尔函数 J2(z)

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

Figure contains an axes object. The axes object with title Bessel Function of the First Kind, xlabel real(z), ylabel imag(z) contains an object of type surface.

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

Figure contains an axes object. The axes object with title Scaled Bessel Function of the First Kind, xlabel real(z), ylabel imag(z) contains an object of type surface.

输入参数

全部折叠

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

示例: besselj(3,0:5)

数据类型: single | double

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

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

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

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

  • 0(默认值)- 无缩放

  • 1 - 按 exp(-abs(imag(Z))) 缩放 besselj 的输出

在复平面上,besselj 的模随着 abs(imag(Z)) 的值增加而快速增长,因此呈指数缩放输出对于 abs(imag(Z)) 的大值很有用;如果不这样处理,结果会很快损失精度或上溢超出双精度的限制。

示例: besselj(3,0:5,1)

详细信息

全部折叠

贝塞尔函数

以下微分方程(其中 ν 是实数常量)称为贝塞尔方程

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

它的解称为贝塞尔函数

第一类贝塞尔函数(表示为 Jν(z)J–ν(z))构成了非整数 ν 的贝塞尔方程的一组基本解。Jν(z) 通过以下方式定义:

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

第二类贝塞尔函数(表示为 Yν(z))构成了贝塞尔方程的另一个解,与 Jν(z) 线性无关。Yν(z) 通过以下方式定义:

Yν(z)=Jν(z)cos(νπ)Jν(z)sin(νπ).

您可以使用 bessely 计算第二类贝塞尔函数。

提示

贝塞尔函数与汉克尔函数相关,也称为第三类贝塞尔函数,

Hν(1)(z)=Jν(z)+iYν(z)Hν(2)(z)=Jν(z)iYν(z).

Hν(K)(z)besselhJν(z)besseljYν(z)bessely。汉克尔函数同样构成贝塞尔方程的一组基本解(请参阅 besselh)。

扩展功能

版本历史记录

在 R2006a 之前推出

另请参阅

| | |