関数の連分数展開による近似
eˣ・log(1+x)・arctan(x)・tan(x) を連分数展開で近似し、項数を増やしたときの収束のようすと真値との誤差をグラフと表で確認できる数値解析ツール。
入力
近似する関数
eˣ(指数関数)
x =
項
x が 0 に近いほど少ない項数でよく収束します。|x| が大きいときは項数を増やしてください。
計算結果
exp(x) = eˣ (x = 1、10 項)の連分数近似
2.71828183
真値(標準関数)
2.71828183
絶対誤差
2.77e-10
|近似値 − 真値|
項数
10 項
誤差の収束(縦軸は絶対誤差・対数目盛)
項数ごとの収束
| 項数 | 近似値 | 絶対誤差 |
|---|---|---|
| 1 | 2 | 7.18e-1 |
| 2 | 3 | 2.82e-1 |
| 3 | 2.75 | 3.17e-2 |
| 4 | 2.71428571 | 4.00e-3 |
| 5 | 2.71794872 | 3.33e-4 |
| 6 | 2.71830986 | 2.80e-5 |
| 7 | 2.71828358 | 1.75e-6 |
| 8 | 2.71828172 | 1.10e-7 |
| 9 | 2.71828182 | 5.52e-9 |
| 10 | 2.71828183 | 2.77e-10 |
計算方法・使い方
- 連分数展開とは、関数を b0 + a1/(b1 + a2/(b2 + …)) という入れ子の分数の形で表す近似方法です。同じ項数のテイラー展開より速く収束することが多く、関数の数値計算によく使われます。
- 関数を選び、近似したい x の値と項数を入力すると、連分数を指定した項数で打ち切ったときの近似値が大きく表示されます。あわせて標準関数による真値、両者の絶対誤差も確認できます。
- 項数を増やすほど近似値が真値に近づくようすを、誤差の片対数グラフ(縦軸は対数目盛)と、項数ごとの近似値・誤差の表で見比べられます。誤差が急速に小さくなる収束の速さを体感できます。
- x が 0 に近いほど少ない項数でよく収束します。tan(x) は x が ±π/2 付近、log(1+x) は x が -1 付近など、特異点や定義域の境界に近いと収束が遅くなる点に注意してください。
- 収束のしくみや関数ごとの近似精度の違いを学ぶ学習用途を想定しています。実務で高精度が必要な場合は、x の値に応じた適切な項数の設定や桁あふれの確認を行ってください。
関連する計算ツール
関数 f(x) のグラフ描画
数値解析sin(x) や x^2-2 などの数式を入力すると、指定した x の範囲で関数のグラフを自動描画。最大・最小・ゼロ点や代表点の値も同時に確認できます。
計算する →関数 f(x), g(x) のグラフ描画
数値解析2つの数式 f(x) と g(x) を同じ座標平面に色分けで重ねて描画。区間内の最大・最小値や交点も自動で求めます。
計算する →データ点 f(x) のグラフ描画
数値解析(x, y) のデータ点を入力するだけで、折れ線+点のグラフを自動描画。点数・y の最小最大・平均も同時に確認できます。
計算する →データ点 f(x), g(x) のグラフ描画
数値解析2系列の(x, y)データ点を入力すると、f(x)とg(x)を色分けで重ねた折れ線グラフを描き、各系列の点数・最大最小を表示します。
計算する →