定積分,
 |
(5) |
の近似値を数値計算で求めることを考える.積分の計算は面積の計算であるから,図
2のように台形の面積の和で近似ができるであろう.積分の範
囲
![$ [a,b]$](img56.png)
を

等分した台形で近似した面積Tは,
となる.これが数値積分の台形公式である.なんのことはない,積分を台形の面積に置き
換えているだけである.
台形公式の考え方は簡単であるが,精度はあまりよくない.そこで,よく似た考え方で精
度が良いシンプソンの公式を説明する.台形公式は,分割点の値を一次関数(直線)で近似
を行い積分を行った.要するに折れ線近似である.ここで,1次関数ではなく,高次の関
数で近似を行えばより精度が上がることは,直感的に分かる.
2次関数で近似を行うことを考える.2次関数で近似するためには,3点必要である.3つの
分点をそれぞれ,
とする.そして,この2次関数を
と
する.
はラグランジュ補間に他ならないので,
となる.図
3に示すとおりである.
図 3:
元の関数を区間
を2次関数で近似する
|
これを,区間
で積分する.紙面の都合上,式
(7)の右辺を各項毎に積分を行う.まず,右辺第1項で
あるが,それは以下のようになる.
同様に,第2,3項を計算すると
式(7)右辺第2項の積分 |
 |
(9) |
式(7)右辺第3項の積分 |
 |
(10) |
となる.以上より,近似した2次関数

の範囲
![$ [x_j,\,x_{j+2}]$](img74.png)
の積分は,
となる.
これは,ある区間
の積分で,その巾は
である.区間
にわ
たっての積分
は,式(11)を足し合わせればよい.ただし,
と足し合わせる.
 |
(12) |
これが,シンプソンの公式と呼ばれるもので,先ほどの台形公式よりも精度が良い.精度
は,

に反比例する.
この式から,分割数
は偶数でなくてはならないことがわかる.
積分の境界が複雑な場合,乱数を使うモンテカルロ積分が適している.例えば,関数

の体積積分を考える.この体積積分は
となる.ここで,

はM次元体の領域

の体積,

はその内部
の関数の平均値である.これは3次元体の質量を考えると簡単である.その質量は,密度
の体積積分となる.これは体積に平均密度を乗じた値に等しい.当たり前の式である.こ
のことから,式(
13)の積分の値が欲しければ,体積と平均値が分か
ればよいことになる.
積分を計算するために,まずは体積である.これは体積の計算が容易な単純な形状の内部
に,領域
を包み込み,その内部にランダムに配置されたサンプル点の数を数えれ
ば良いのである.単純な形状内部に配置されたランダムな点の数を
とする.そして,
その内部にある積分領域
に含まれる点の数を
とする.さらに,単純
な形状の体積を
,領域
のそれを
とすると,
 |
(14) |
の関係がある.右辺はコンピューターにより容易に計算できる.ランダムな点の数

が
多くなればなるほど,近似の精度は良くなる.
残りは,体積内部の平均
である.これも簡単で,領域
内部
にあるサンプル点の平均より求めることができる.即ち,
領域 の内部のみ |
(15) |
となる.ここで,

は

番目のサンプル点の

座標で
ある.また,

は領域内部のサンプル数である.この計算も簡単で,コンピューター
は難なく,平均値の近似値を計算することができる.
以上より,モンテカルロ法を用いると,体積
と平均値
の近似値が
計算できることが分かる.従って,式(13)の近似値を求めることが
できる.
ホームページ:
Yamamoto's laboratory著者:
山本昌志
Yamamoto Masashi
平成19年2月5日