アーランB式の計算

本日の内容


このドキュメントは http://edu.net.c.dendai.ac.jp/ 上で公開されています。

1. 表計算での計算

アーランB式は次式により与えられます。

E s a = as s! i=0 s ai i!

この式に対して、漸化式を求めると次のようになります。

Esa = a Es-1 a s + a Es-1 a

この式を元に、表計算ソフトで計算します。 表のレイアウトは以下の通りです。

ABCD
1a呼量1呼量2呼量3
2sE
30111
41下記の式を入れる式のコピー式のコピー
52式のコピー式のコピー式のコピー
式: =B$1*B3/($A4+B$1*B3)

2. ニュートン法

負荷曲線とは呼損率を与えた時の as の関係をグ ラフで表したものです。 これを求めるには、呼損率 B を固定した時、 E s a = B を満す sa の組を求める必要があります。 つまり各 a を与えた時、 f s = E s a - B の零点となる s を求める必要があります。

アーランB式では解析的には解けないので、ニュートン法を用いることを考え ます。

ニュートン法は関数 f x の 0 点を繰り返し計算で求める方法です。 初期値 x0 に対して、関数 f x x0 における接線は次により得られます。

y - f x 0 = f ' x 0 x - x 0

この零点を新しいパラメータ x1 とし、順に x2, x3 と値を更新して行く と、どんどん、元の曲線の 0 点に収束して行くと言う方法です。 つまり漸化式で書くと次のようになります。

x n+1 = x n - f x n f ' x n

これの階差が求めたい解の精度に達したら計算を終了します。

つまり、ニュートン法を使うと関数の値と微分係数が求まれば零点が求まりま す。 但し、各 xi は整数ではなく実数の範囲となるので、 実数の範囲で関数の値などを求めなければなりません。

3. アーランB式の定義域の実数への拡張

単なる階乗の定義域を実数に拡張するにはガンマ関数を使います。 これは Γ a+1 = a Γ a , Γ 1 = 1 を満たす実数上の関数です。

これは、次の式で求まります。

Γ a = 0 t a-1 e -t t

これは以下の関係が成り立つからです。

t a e -t ' = a t a-1 e -t - t a e -t (*)
t a e -t 0 = a 0 t a-1 e -t t - 0 t a e -t t
0 = a Γ a - Γ a+1

このガンマ関数は n が自然数ならば Γ n+1 = n ! が成り立ちます。

なお、このガンマ関数の積分を途中で区切り、途中の x までの値 と、 x 以降の値に分割したものをそれぞれ第一不完全ガン マ関数 γ ax 第二不完全ガンマ関数 Γ ax と呼びます。 式にすると次のようになります。

γ ax = 0 x t a-1 e -t t
Γ ax = x t a-1 e -t t

特に第二不完全ガンマ関数は(*)より以下が導けます。

t a e -t x = a x t a-1 e -t t - x t a e -t t
- x a e -x = a Γ ax - Γ a+1x

得られた漸化式を解くと以下が得られます。

Γ a+1x = a Γ ax + x a e -x
= a a-1 Γ a-1x + x a-1 e -x + x a e -x
= a a-1 a-2 Γ a-2x + x a-2 e -x + x a-1 e -x + x a e -x
= a ! Γ 1x + x a e -x + a x a-1 e -x + a a-1 x a-2 e -x + ... + a ! x e -x
= a ! x t 0 e -t t + i=1 a a! x i e -x i!
= a! e -x i=0 a x i i!

これとアーランB式を比較すると次の式が得られます。

E s a = a s e -a Γ s+1 a

4. 今後の展開

微係数を求めずに、表計算ソフトに付属の gammaln, gammadist などの関数で 工夫して求められないか検討中。

5. 参考文献

Wikipedia などガンマ関数関連のページ


坂本直志 <sakamoto@c.dendai.ac.jp>
東京電機大学工学部情報通信工学科