Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

besseli

シンボリック式の第 1 種変形ベッセル関数

説明

besseli(nu,z) は、第 1 種変形ベッセル関数Iν(z) を返します。

第 1 種変形ベッセル関数を求める

この数値では、第 1 種変形ベッセル関数を計算します。これらの数値はシンボリック オブジェクトではないため、結果は浮動小数点数となります。

[besseli(0, 5), besseli(-1, 2), besseli(1/3, 7/4),  besseli(1, 3/2 + 2*i)]
ans =
  27.2399 + 0.0000i   1.5906 + 0.0000i   1.7951 + 0.0000i  -0.1523 + 1.0992i

シンボリック オブジェクトに変換された数値の場合は、第 1 種変形ベッセル関数を計算します。ほとんどのシンボリックな (厳密な) 数値について、besseli は未解決のシンボリックな呼び出しを返します。

[besseli(sym(0), 5), besseli(sym(-1), 2),...
 besseli(1/3, sym(7/4)), besseli(sym(1), 3/2 + 2*i)]
ans =
[ besseli(0, 5), besseli(1, 2), besseli(1/3, 7/4), besseli(1, 3/2 + 2i)]

シンボリックな変数と式の場合も、besseli により未解決のシンボリックな呼び出しが返されます。

syms x y
[besseli(x, y), besseli(1, x^2), besseli(2, x - y), besseli(x^2, x*y)]
ans =
[ besseli(x, y), besseli(1, x^2), besseli(2, x - y), besseli(x^2, x*y)]

変形ベッセル関数のベッセル微分方程式の求解

次の 2 階微分方程式を解きます。解は、第 1 種と第 2 種の変形ベッセル関数です。

syms nu w(z)
dsolve(z^2*diff(w, 2) + z*diff(w) -(z^2 + nu^2)*w == 0)
ans =
C2*besseli(nu, z) + C3*besselk(nu, z)

第 1 種変形ベッセル関数が、変形ベッセル微分方程式の有効な解であることを検証します。

syms nu z
isAlways(z^2*diff(besseli(nu, z), z, 2) + z*diff(besseli(nu, z), z)...
 - (z^2 + nu^2)*besseli(nu, z) == 0)
ans =
  logical
   1

第 1 種変形ベッセル関数の特別な値

最初のパラメーターが奇数の整数を 1/2 で乗算した値の場合、besseli は初等関数でベッセル関数を書き換えます。

syms x
besseli(1/2, x)
ans =
(2^(1/2)*sinh(x))/(x^(1/2)*pi^(1/2))
besseli(-1/2, x)
ans =
(2^(1/2)*cosh(x))/(x^(1/2)*pi^(1/2))
besseli(-3/2, x)
ans =
(2^(1/2)*(sinh(x) - cosh(x)/x))/(x^(1/2)*pi^(1/2))
besseli(5/2, x)
ans =
-(2^(1/2)*((3*cosh(x))/x - sinh(x)*(3/x^2 + 1)))/(x^(1/2)*pi^(1/2))

第 1 種変形ベッセル関数の微分

第 1 種変形ベッセル関数を含む式を微分します。

syms x y
diff(besseli(1, x))
diff(diff(besseli(0, x^2 + x*y -y^2), x), y)
ans =
besseli(0, x) - besseli(1, x)/x
 
ans =
besseli(1, x^2 + x*y - y^2) +...
(2*x + y)*(besseli(0, x^2 + x*y - y^2)*(x - 2*y) -...
(besseli(1, x^2 + x*y - y^2)*(x - 2*y))/(x^2 + x*y - y^2))
 

行列入力に対するベッセル関数

行列 A と値 1/2 に対して besseli を呼び出します。結果は変形ベッセル関数 besseli(1/2, A(i,j)) の行列となります。

syms x
A = [-1, pi; x, 0];
besseli(1/2, A)
ans =
[        (2^(1/2)*sinh(1)*1i)/pi^(1/2), (2^(1/2)*sinh(pi))/pi]
[ (2^(1/2)*sinh(x))/(x^(1/2)*pi^(1/2)),                     0]

第 1 種変形ベッセル関数のプロット

第 1 種変形ベッセル関数を v=0,1,2,3 にプロットします。

syms x y
fplot(besseli(0:3, x))
axis([0 4 -0.1 4])
grid on

ylabel('I_v(x)')
legend('I_0','I_1','I_2','I_3', 'Location','Best')
title('Modified Bessel functions of the first kind')

入力引数

すべて折りたたむ

入力。数値、ベクトル、行列、配列、あるいはシンボリック数、変数、式、関数、または配列で指定されます。nu がベクトルまたは行列の場合、besselinu の要素ごとに第 1 種変形ベッセル関数を返します。

入力。数値、ベクトル、行列、配列、あるいはシンボリック数、変数、式、関数、または配列で指定されます。nu がベクトルまたは行列の場合、besselinu の要素ごとに第 1 種変形ベッセル関数を返します。

詳細

すべて折りたたむ

第 1 種変形ベッセル関数

変形ベッセル微分方程式

z2d2wdz2+zdwdz(z2+ν2)w=0

には、2 つの線形独立解があります。これらの解は、第 1 種変形ベッセル関数、Iν(z)、および第 2 種変形ベッセル関数、Kν(z) で表されます。

w(z)=C1Iν(z)+C2Kν(z)

この式は、第 1 種変形ベッセル関数の積分表現です。

Iν(z)=(z/2)νπΓ(ν+1/2)0πezcos(t)sin(t)2νdt

ヒント

  • シンボリック オブジェクトではない数値について besseli を呼び出すと、MATLAB® 関数 besseli が呼び出されます。

  • 少なくとも 1 つの入力引数はスカラーであるか、両方の引数は同じサイズのベクトルまたは行列でなければなりません。一方の入力引数がスカラーであり、もう一方の入力引数がベクトルまたは行列である場合、besseli(nu,z) によってスカラーは、すべての要素がそのスカラーと等しい、もう一方の引数と同じサイズのベクトルまたは行列に拡張されます。

参照

[1] Olver, F. W. J. “Bessel Functions of Integer Order.” Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. (M. Abramowitz and I. A. Stegun, eds.). New York: Dover, 1972.

[2] Antosiewicz, H. A. “Bessel Functions of Fractional Order.” Handbook of Mathematical Functions with Formulas, Graphs, and Mathematical Tables. (M. Abramowitz and I. A. Stegun, eds.). New York: Dover, 1972.

バージョン履歴

R2014a で導入