数値積分ラボ

曲線の下、または2つの関数の間の面積を推定し、数値的手法が積分をどのように近似するかを可視化します。

インタラクティブシミュレーションを読み込んでいます...

分割数を倍にすると、シンプソン則の精度は16倍 🖖

ここで扱う方法はいずれも収束する。違うのは、その速さだ。[0, 1] 上の e^x で分割数を倍にすると、左端和の誤差は 2 分の 1、中点則と台形則では 4 分の 1、シンプソン則では 16 分の 1 になる。左端和が各小区間で一点だけを使うのに対し、シンプソン則は三点を標本に取るため、計算量は三倍になる。この被積分関数では、n = 8 の時点ですでに六桁も真値に近い。

拡大すればどんな曲線もほぼ直線 🖖

数値積分では、曲線の下の領域を細長い小区間に分け、それぞれを長方形、台形、小さな放物線などの単純な図形で近似し、その面積を足し合わせる。どれほど激しく曲がる曲線でも、ごく狭い範囲だけを見ればほとんど直線に見える。そのため、素朴な図形でも驚くほどよく合う。シアン色の塗りつぶしに注目しよう。小区間を細くするほど、どの図形で近似しても、一つひとつの誤差は小さくなる。

シンプソンの公式はシンプソンより古い 🖖

このツールで用いるシンプソン則の一区間公式 — S = (Δx/6)(f(xL) + 4f(xM) + f(xR)) — は、ヨハネス・ケプラーがワイン樽の体積を測るために考案し、1615年に発表した。ドイツ語では今も「ケプラーの樽則」と呼ばれている。トーマス・シンプソンが同じ公式を書き記したのは、それから一世紀と四半世紀後の1743年である。樽のふくらんだ側面には、面積を簡単に求める公式がなかったのだ。

数値積分の理論 — 面積を測る5つの方法

公式の選び方:曲線の下にどんな図形を敷くか

どの公式も区間 [a, b] を n 本の帯に分け、各帯の中の曲線を正確に測れる図形に置き換えます。違いはその置き換える図形だけ — 端での水平線、中央での水平線、傾いた直線、放物線 — そしてその選択が誤差の大きさと、帯を増やしたときの減り方を決めます。

左端の長方形 — 左端で水平 h · Σ f(xi)
右端の長方形 — 右端で水平 h · Σ f(xi+1)
中点の長方形 — 中央で水平 h · Σ f(xi + h/2)
台形公式 — 横切る直線 (h/2) · Σ [f(xi) + f(xi+1)]
シンプソンの公式 — 3点を通る放物線 (h/3) · [f0 + 4f1 + 2f2 + … + fn]

01

左端の長方形 — 左端で水平

使う図形: 帯ごとに1つの長方形。高さはその帯の左端の値をとります。

公式: h · Σ f(xi)

誤差の振る舞い: 増加曲線ではすべての長方形が曲線の下に収まるため、合計は不足します。帯幅を半分にすると誤差もおよそ半分になります。

この場合を開く: 左端和、50分割
左端の長方形 — 左端で水平. 各帯は左端に合わせた長方形で、曲線のくさび形の部分が数えられずに残ります。 帯ごとに1つの長方形。高さはその帯の左端の値をとります。
各帯は左端に合わせた長方形で、曲線のくさび形の部分が数えられずに残ります。

02

右端の長方形 — 右端で水平

使う図形: 帯ごとに1つの長方形。高さは代わりに右端の値をとります。

公式: h · Σ f(xi+1)

誤差の振る舞い: 同じ増加曲線では今度はどの長方形も曲線からはみ出し、左端の公式が失った分とほぼ同じだけ超過します。

この場合を開く: 右端和、8分割
右端の長方形 — 右端で水平. 同じ帯でも高さを右端でとると、偏りの符号が反転します。 帯ごとに1つの長方形。高さは代わりに右端の値をとります。
同じ帯でも高さを右端でとると、偏りの符号が反転します。

03

中点の長方形 — 中央で水平

使う図形: 帯ごとに1つの長方形。高さは端ではなく帯の中央で読み取ります。

公式: h · Σ f(xi + h/2)

誤差の振る舞い: 帯の片側での超過が反対側の不足を打ち消します。h を半分にすると誤差はおよそ4分の1になります。

この場合を開く: 逆正接
中点の長方形 — 中央で水平. 中央で標本をとることで、各帯の2つの誤差が互いに打ち消し合います。 帯ごとに1つの長方形。高さは端ではなく帯の中央で読み取ります。
中央で標本をとることで、各帯の2つの誤差が互いに打ち消し合います。

04

台形公式 — 横切る直線

使う図形: 各帯は、帯の両端における曲線の値を結ぶ台形になります。

公式: (h/2) · Σ [f(xi) + f(xi+1)]

誤差の振る舞い: [0, 1] 上の exp(x)、n = 8:弦が凸な曲線の上を通るため、推定値は大きめに出ます。

この場合を開く: 指数曲線
台形公式 — 横切る直線. 各帯を横切る弦:凸な曲線では上を、凹な曲線では下を通ります。 各帯は、帯の両端における曲線の値を結ぶ台形になります。
各帯を横切る弦:凸な曲線では上を、凹な曲線では下を通ります。

05

シンプソンの公式 — 3点を通る放物線

使う図形: 帯を2本ずつ組にし、それらにまたがる3点を通る放物線を当てはめます。n は偶数である必要があります。

公式: (h/3) · [f0 + 4f1 + 2f2 + … + fn]

誤差の振る舞い: [0, π] 上の sin(x) は n = 10 だけで、厳密値 2 に小数点以下数桁まで一致します。

この場合を開く: 滑らかなシンプソン
シンプソンの公式 — 3点を通る放物線. 帯2本ごとに1つの放物線が、弦よりはるかに密接に曲線に沿います。 帯を2本ずつ組にし、それらにまたがる3点を通る放物線を当てはめます。n は偶数である必要があります。
帯2本ごとに1つの放物線が、弦よりはるかに密接に曲線に沿います。
参考文献 (1)
  • Insight block 3 — Simpson's rule, a century before Simpson: J. Kepler, Nova stereometria doliorum vinariorum. Linz, 1615 — the Keplersche Fassregel, derived to gauge the volume of wine barrels.

全プロセスの詳細解説

  1. e x に対する n = 8 の台形公式 5 ステップ

    0 から 1 までの ex を 8 個の台形を用いて積分し、他のものと比較する前に、その答えの誤差を正確に求めよ。これは [0, 1] 上の ex に対する n = 8 での台形公式であり、その近似値を閉形式で書き表すことができる唯一の被積分関数である。

    1. 台形公式は各帯領域の両端の高さの平均をとるため、内側の高さはそれぞれ 1 回だけ数えられ、外側の 2 つの高さは半分として数えられる。等間隔の格子上の ex について、それらの高さは無関係な 8 つの数値ではない。各高さは、一つ前の高さに e1/8 を掛けたものである。

    2. r の連続する累乗の和は等比級数となるため、7 つの内側の高さは単一の商へとまとまる。r の 8 乗は正確に e であり、これこそが区間 [0, 1] がこの計算を行うのに都合がよい理由である。

    3. 括弧の中に帯領域の幅を掛けることで近似値の計算が完了する。曲線の帯領域の上端を直線で置換するという最初の決定を除けば、ここまでの計算には一切の近似が含まれていない。

    4. ここで、同じ 3 行の計算を小数を使わずに行う。端点の平均と等比級数の商は共通の因数を持っており、約分を経て残るのは、正確な積分値である e − 1 に h のみに依存する量を掛けたものである。台形公式はここで ex を近似したのではない。曲線についての情報を何も含まない因子によって、正しい答えを定数倍したのである。

    5. その因子は x = h/2 における x coth x であり、これは x に関して偶関数であるため、その級数は 1 + x²/3 から始まり、考慮すべき 1 次の項を持たない。x = h/2 では 1 + h²/12 となり、あらゆる教科書が台形公式の誤差限界として引用する 1/12 は、この級数の係数にほかならない。次の項である −h⁴/720 はわずか 3.4 × 10⁻⁷ であり、主導項だけで誤差を 6 桁まで補正できる。

    解答

    ツールは 1.720519 という近似値を、真の値である 1.718282 に対して出力し、その差 0.0022368 は、格子の間隔のみから予測された I·h²/12 = 0.0022373 と一致している。どちらの数値も ex をどこかで評価計算する前に分かっていたものであり、これこそが本質である。この積分における台形公式の誤差は h の性質であり、被積分関数の謎ではない。h² 法則の代償は大きい。ツールが真の値として表示する小数点以下 6 桁に達するには 462 個の帯領域(463 個の ex の高さ)が必要であるのに対し、ツールのシンプソンの公式(各パネルの左・中央・右の高さを 1 : 4 : 1 で重み付けする)は 6 個のパネル、すなわち 13 個の高さで 1.718282 を示す。35 倍というこの因子は、数学的に新しいものを何ももたらさない。それは、台形公式がすでに隣に立っていた高さの異なる平均値にすぎない。

学習の道すじ

三つの数値計算法と、それぞれの限界

この次に オイラー法

例題

  • 左端和、50分割 - 左端を使う五十個の長方形でも、x² の近似値はなお 0.0795 小さい。端点の選び方による偏りは n を増やしても消えず、n に反比例して小さくなるだけだ。
  • 右端和、8分割 - 右端を使う八個の長方形では 3.1875、左端では 2.1875 となる。その差はちょうど 1。途中で曲線がどう振る舞っても、これは h に f(2) - f(0) を掛けた値に等しい。
  • 滑らかなシンプソン - [0, π] 上の sin(x) をシンプソン則で十区間に分けると 2.00000678、真値は 2。わずか十区間で六桁まで正しい。
  • 指数曲線 - e^x を八個の台形で近似すると 1.720519、真値は 1.718282。下の例題では、この近似値を閉じた形で求め、なぜ真値より大きくなるのかも明らかにする。
  • 逆正接 - 1/(1+x²) は偶関数なので、[-2, 2] では左端和と右端和がともに 2.211342 となり、どちらも真値を挟まない。中点則では 2.215772、真値は 2.214297 である。
  • 放物線と直線の間 - [-1, 2] の内部で x² と x は二度交わるため、符号付き面積は二曲線に挟まれた面積より小さい。差が二次式なので、シンプソン則では正確に 1.5 となる。
  • sinとcosの間 - [0, π] 上の sin(x) - cos(x) を十八個の台形で近似すると 1.994920、厳密値は 2。
  • カスタム - 二次式から一次式を引いても二次式であり、シンプソン則なら厳密に積分できる。したがって表示値は 9.25 で、誤差はまったくない。