Excelで第2種変形ベッセル関数の値を計算したいけれど、どの関数を使えばいいかわからない…そんな場面はありませんか?
熱伝導や電磁場の減衰計算で必要になるベッセル関数。手計算で求めるのは現実的ではないですよね。
ExcelのBESSELK関数を使えば、セルに数式を入力するだけで第2種変形ベッセル関数の値をサッと計算できますよ。この記事では、BESSELK関数の書き方から実際の使い方、エラーの対処法まで丁寧に解説します。
ExcelのBESSELK関数とは?
BESSELK関数は、第2種変形ベッセル関数 Kn(x) の値を返すExcel関数です。読み方は「ベッセル・ケイ」です。
ベッセル関数というのは、円筒座標系の微分方程式を解くときに登場する特殊関数のことです。工学や物理学の分野で広く使われています。
BESSELK関数が扱う「第2種変形ベッセル関数」は、通常の第2種ベッセル関数 Yn(x) に純虚数を代入して得られる関数です。BESSELI関数(第1種変形ベッセル関数)とペアで使うことが多いですよ。
ちょっと難しく見えますが、Excelでは関数に値を入れるだけで自動計算してくれるので安心してください。
どんなときに使う?
BESSELK関数は、主に以下のような場面で活躍します。
- 円筒座標系で減衰を伴う熱伝導方程式を解くとき
- 電磁場解析で外部領域の電場を計算するとき
- 粒子物理学における散乱問題を扱うとき
- 拡散現象のモデリングで境界条件を設定するとき
理工系の研究やエンジニアリング業務で使うことが多い関数ですね。
BESSELIとBESSELKの関係
BESSELI関数が第1種変形ベッセル関数を返すのに対し、BESSELK関数は第2種変形ベッセル関数を返します。
この2つは「変形ベッセル方程式」の独立な2つの解です。変形ベッセル方程式を完全に解くには、両方の関数が必要になります。BESSELIとBESSELKはセットで覚えておくと便利ですよ。
BESSELK関数の書き方(構文と引数)
基本構文
=BESSELK(x, n)
引数は2つで、どちらも必須です。省略するとエラーになります。
引数の説明
| 引数 | 必須/省略可 | 説明 |
|---|---|---|
| x | 必須 | 関数を評価する値(正の実数) |
| n | 必須 | ベッセル関数の次数(0以上の整数) |
引数 x には、関数に代入したい数値を指定します。BESSELK関数では x は正の数のみ 指定できます。0以下の値を指定すると #NUM! エラーになるので注意してください。この点がBESSELI関数と異なるポイントです。
引数 n には、ベッセル関数の次数を指定します。0以上の整数を入力してください。小数を指定した場合は、小数点以下が自動的に切り捨てられます。たとえば n に 2.7 を指定すると、2として計算されます。
BESSELK関数の基本的な使い方
実際にBESSELK関数を使ってみましょう。いくつかのパターンを紹介します。
数値を直接指定する
セルに次のように入力します。
=BESSELK(1.5, 1)
この数式は、x=1.5、次数n=1のときの第2種変形ベッセル関数の値を返します。結果は約 0.2774 になります。
セル参照を使う
A1セルに x の値、B1セルに次数 n を入力しておけば、次のように書けます。
=BESSELK(A1, B1)
たとえば A1 に 1.5、B1 に 1 を入力すると、先ほどと同じ結果が得られます。パラメータを変えて繰り返し計算するときは、この書き方が便利ですよ。
次数ごとの値を一覧で確認する
x の値を固定して、次数 n を 0 から順に変えていくと、関数の振る舞いがよくわかります。
| x の値 | 次数 n | 数式 | 結果(概算) |
|---|---|---|---|
| 1.5 | 0 | =BESSELK(1.5, 0) | 0.2138 |
| 1.5 | 1 | =BESSELK(1.5, 1) | 0.2774 |
| 1.5 | 2 | =BESSELK(1.5, 2) | 0.5836 |
| 1.5 | 3 | =BESSELK(1.5, 3) | 1.8338 |
BESSELI関数とは逆に、次数が大きくなるほど値も大きくなるのが特徴です。また、x が大きくなるほど値は0に向かって急速に減衰します。この一覧をExcelで作っておくと、パラメータの傾向をつかみやすいですよ。
よくあるエラーと対処法
BESSELK関数で発生しやすいエラーと、その対処法をまとめました。
#NUM! エラー
BESSELK関数で最もよく見かけるエラーです。次の2つのケースで発生します。
ケース1: x に 0 以下の値を指定した場合
=BESSELK(0, 1) → #NUM! エラー
=BESSELK(-1, 1) → #NUM! エラー
対処法: x には正の数を指定してください。BESSELK関数はBESSELI関数とは異なり、0や負の値を受け付けません。
ケース2: n に負の数を指定した場合
=BESSELK(1.5, -1) → #NUM! エラー
対処法: 次数 n は 0 以上の整数を指定してください。
#VALUE! エラー
x または n に数値以外の値を指定すると発生します。
=BESSELK("abc", 1) → #VALUE! エラー
対処法: 引数に文字列が入っていないか確認してください。セル参照の場合、参照先のセルが空白や文字列になっていることがあります。
#NAME? エラー
関数名のスペルミスで発生します。「BESSEL」と「K」の間にスペースを入れたり、綴りを間違えたりすると起こります。
対処法: 関数名が BESSELK になっているか、もう一度確認してみてください。
ベッセル関数4種の違いと使い分け
Excelには BESSELK のほかに、3つのベッセル関数が用意されています。それぞれの違いを整理しておきましょう。
| 関数名 | 正式名称 | 数学記号 | 主な用途 |
|---|---|---|---|
| BESSELJ | 第1種ベッセル関数 | Jn(x) | 振動・波動の一般解 |
| BESSELY | 第2種ベッセル関数 | Yn(x) | 振動・波動の特殊解 |
| BESSELI | 第1種変形ベッセル関数 | In(x) | 熱伝導・拡散問題 |
| BESSELK | 第2種変形ベッセル関数 | Kn(x) | 減衰を伴う拡散問題 |
大きく分けると「通常のベッセル関数」と「変形ベッセル関数」の2グループがあります。
- BESSELJ / BESSELY: 通常のベッセル関数。振動や波動を扱うときに使います
- BESSELI / BESSELK: 変形ベッセル関数。熱伝導や拡散現象を扱うときに使います
もう一つ大事な違いがあります。引数 x に指定できる値の範囲です。
| 関数 | x に指定できる値 |
|---|---|
| BESSELJ | すべての実数 |
| BESSELY | 正の数のみ |
| BESSELI | すべての実数 |
| BESSELK | 正の数のみ |
BESSELKとBESSELYは正の数しか受け付けないので、データを入力する際は気をつけてくださいね。
対応バージョン
ベッセル関数4種は、Excel 2007以降で標準利用できます。Excel 2003以前では「分析ツール」アドインの有効化が必要です。Microsoft 365でも問題なく使えますよ。
まとめ
この記事では、ExcelのBESSELK関数について解説しました。ポイントを振り返っておきましょう。
- BESSELK関数は第2種変形ベッセル関数 Kn(x) の値を返す
- 構文は
=BESSELK(x, n)で、引数は2つとも必須 - x は正の数のみ指定可能(0以下は #NUM! エラー)
- 次数 n は0以上の整数を指定する(小数は切り捨て)
- BESSELI関数とペアで使うことが多い
ベッセル関数はニッチな関数ですが、工学系の計算では欠かせない存在です。この記事を参考に、ぜひ活用してみてください。
関連記事
関数一覧
Excel関数の一覧は下記の記事から確認できます。
