keisoku

関数の連分数展開による近似

eˣ・log(1+x)・arctan(x)・tan(x) を連分数展開で近似し、項数を増やしたときの収束のようすと真値との誤差をグラフと表で確認できる数値解析ツール。

入力

近似する関数
x =

x が 0 に近いほど少ない項数でよく収束します。|x| が大きいときは項数を増やしてください。

計算結果

exp(x) = eˣ (x = 110 項)の連分数近似

2.71828183

真値(標準関数)

2.71828183

絶対誤差

2.77e-10

|近似値 − 真値|

項数

10 項

誤差の収束(縦軸は絶対誤差・対数目盛)

10^-1010^-810^-610^-410^-210^01357910項数

項数ごとの収束

項数近似値絶対誤差
127.18e-1
232.82e-1
32.753.17e-2
42.714285714.00e-3
52.717948723.33e-4
62.718309862.80e-5
72.718283581.75e-6
82.718281721.10e-7
92.718281825.52e-9
102.718281832.77e-10

計算方法・使い方

  • 連分数展開とは、関数を b0 + a1/(b1 + a2/(b2 + …)) という入れ子の分数の形で表す近似方法です。同じ項数のテイラー展開より速く収束することが多く、関数の数値計算によく使われます。
  • 関数を選び、近似したい x の値と項数を入力すると、連分数を指定した項数で打ち切ったときの近似値が大きく表示されます。あわせて標準関数による真値、両者の絶対誤差も確認できます。
  • 項数を増やすほど近似値が真値に近づくようすを、誤差の片対数グラフ(縦軸は対数目盛)と、項数ごとの近似値・誤差の表で見比べられます。誤差が急速に小さくなる収束の速さを体感できます。
  • x が 0 に近いほど少ない項数でよく収束します。tan(x) は x が ±π/2 付近、log(1+x) は x が -1 付近など、特異点や定義域の境界に近いと収束が遅くなる点に注意してください。
  • 収束のしくみや関数ごとの近似精度の違いを学ぶ学習用途を想定しています。実務で高精度が必要な場合は、x の値に応じた適切な項数の設定や桁あふれの確認を行ってください。