Excelで積分を近似計算する方法|台形公式で超複雑な関数の面積を求める実用テクニック
Excelで積分(関数の面積)を近似的に求める方法を紹介します。
数式や関数を使わず、台形を並べて足し合わせるだけのシンプルな手法です。
積分と聞くと「数式が難しい」「Excelじゃ無理」と思う方も多いかもしれません。
でも、実はExcelだけで関数の面積を近似的に計算する方法があります。
それが「台形法(台形公式)」と呼ばれるシンプルな積分近似手法です。
この記事では、以下のことがわかります:
・関数グラフから面積を出す方法
・台形法をExcelにどう落とし込むか
・実際に使える表の組み方・計算式の入れ方
どんなに複雑な関数でも、「xの増分ごとの高さを平均して幅をかける」だけ。
公式は一切使わず、ビジュアルと数値で“積分らしさ”を体感できる内容になっています。
積分とは面積を求めること
微分は関数の傾きを求める計算でした。
積分は関数の面積を求める計算です。
例えばy=1の関数の積分は次のようになります。

「それが実社会で何の役に立つんだ」
と思われるかもしれませんが、私たちは色々な場面でこの計算を行っています。
例えば、毎日10kWhの電力量を消費する家庭では、月間消費量は300kWhになります。
これは、下図のような積分計算をやっていることと同じです。

このように、積分とは言い換えれば「累積」を求めることです。
「なんだ、そんな簡単ならわざわざ積分なんて難しい言葉使わなくてもいいじゃないか」
と思われるかもしれません。
しかし、もし毎日の電力消費量が次のようだったらどうでしょうか?

とたんに計算するのが難しくなりますね。
長方形の面積であれば縦×横で計算できますが、このようなクネクネした関数の下側の面積はどうやって求めればよいのでしょうか?
解析的解法と数値的解法がある
この問題を式変形しながら解いていくのが、高校でやった積分です。
微分もそうでしたが、いくつかの基本的な公式があるので、それらを使える形に式変形して解くのです。
これを解析的解法と言います。
ところが、微分も同じですが、解析的には解けない積分も多く存在します。
その場合には数値的解法で近似解を求めます。
微分では、
{f(x+h)-f(x)}/h(hは微小な数)
に当てはめて計算すれば、どんな関数の微分でも計算できました。
では積分はどうするの?
というのが今回のお話しです。
数値的解法は台形状に刻んで足し合わせること
結論を先にいうと、台形状に切り刻んで足し合わせます。
例えば、次のような四分円の面積を求めてみましょう。

半径1の円の関数式は
x2+y2=1
ですから、yを求める式に変形すると
y=√(1-x2)
になります。
これが、このグラフの式です。
このグラフの下側の面積を求めるために、台形状に10分割します。
この時、円との交点は直線で結びます。

すると、9個の台形と1個の三角形の短冊ができます。
台形の面積は
(上辺+下辺)×高さ÷2
三角形の面積は
底辺×高さ÷2
で求められるので、全部足し合わせれば概ね四分円の面積に等しくなります。
そして、この刻みを細かくすればするほど、精度が高まることも分かると思います。
積分をExcelで計算してみよう
それでは、これをExcelで計算してみましょう。
次のように計算できます。

一番左側の台形は、図3-1で示したように上辺が1(C3セル)、下辺が0.995(C4セル)、高さが0.1(B4セル-B3セル)です。
この計算を最後までコピペすれば計算できます。
さて、その結果は0.776になりました。
半径1の円の面積はπ、その1/4はπ/4ですので、正解は約0.785です。
約1.2%の誤差があります。
少し誤差が大きいですね。
もう少し精度を上げるために、台形をもっと細かくしてみましょう。
0.1刻みを0.01刻みに変えると、次のようになります。

誤差は0.04%まで小さくなりました。
複雑な関数をExcelで積分してみる
次に、もっと複雑な関数で試してみましょう。
f(x)={sin(30×2)/x – cos(20x)/ex + √(5x)}2
なんか、どうでしょうか?
目まいがしそうなほど、複雑な関数ですね。
実際、この関数をグラフで描くと、次のように複雑な形になります。

この関数を0から1の区間で積分してみましょう。
Excelへの入力方法は先ほどと同じです。
xを0から1まで0.01間隔で刻み、各区間の短冊の台形面積を求めるだけです。

結果は8.937で、これは他のもっと精密な数値計算で求めた値である8.941と0.05%も変わりません。
次に、
g(x)=-40x + 40
として、f(x)とg(x)で囲まれる部分の面積を求めてみましょう。
グラフで示すと、次の箇所の面積になります。

これは相当な難問で、少なくとも私には解析的に求めることはできません。
でもExcelで数値解を求めるのなら簡単です。
下記のように入力します。
今までと違うのは、E列を追加していることです。
f(x)>g(x)となる箇所の面積を求めたいので、その箇所だけf(x)-g(x)を計算しています。

結果は約0.800になりました。
これも、他のもっと精密な数値計算で求めた値である0.802とほぼ同じです。
刻み幅を更に細かい0.001にすれば、もっと正確に近い近似解が得られるでしょう。
まとめ
積分とは面積を求めることですが、曲線の式さえ分かっていれば、このように台形の短冊に切り刻む方法で面積を求めることができます。
でも、曲線の式が分からない場合は?
その場合も台形に分解して面積を求めることができます。
興味のある方はこちらもどうぞ。
【2通りの方法で!】あらゆる画像の面積をExcelで計算する方法をわかりやすく