【積分を数値的解法で解く】Excelで複雑な関数の積分を簡単に計算する方法
前回は微分をExcelで計算する方法を紹介しましたので、今回は積分をExcelで計算する方法を紹介します。
これもとても単純な方法ですが、どんな複雑な関数の積分でも計算することができます。
積分とは面積を求めること
微分は関数の傾きを求める計算でした。
積分は関数の面積を求める計算です。
例えば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で計算してみましょう。
次のように計算できます。
一番左側の短冊は、先の図で示したように上辺が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%まで小さくなりました。
複雑な関数を数値的解法で積分してみる
次に、もっと複雑な関数で試してみましょう。
以前の記事で、モンテカルロ法により複雑な関数の積分を求める方法を紹介しました。
ここで例として挙げた関数の積分を今回の方法でやってみましょう。
まずは
f(x)={sin(30x2)/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になりました。
これはモンテカルロ法で10,000回試行した結果である約0.802とほぼ同じです。
このように短冊状に切り刻む方法でも、モンテカルロ法と同じくらいの精度で積分値を求めることができます。
まとめ
積分とは面積を求めることですが、曲線の式さえ分かっていれば、このように台形の短冊に切り刻む方法で面積を求めることができます。
でも、曲線の式が分からない場合は?
その場合も台形に分解して面積を求めることができます。
興味のある方はこちらもどうぞ。