|  | (1) | 
![$ [a,b]$](img6.png) を
を 等分した台形で近似した面積Tは,
等分した台形で近似した面積Tは,
   1 #include <stdio.h>
   2 #include <math.h>
   3 #define N 1000                      // 分割数
   4 
   5 double f(double x);                 // プロトタイプ宣言
   6 
   7 //======= メイン関数 ==================
   8 int main(void)
   9 {
  10   double a, b, h;
  11   double t=0;
  12   int j;
  13 
  14   a=0;                               // 積分の左端
  15   b=2*M_PI;                          // 積分の右端
  16 
  17   h=(b-a)/N;
  18 
  19   for(j=0; j<N; j++){
  20     t += f(a+j*h)+f(a+(j+1)*h);
  21   }
  22   t *= h/2;
  23 
  24   printf("Integral = %e\n", t);
  25   
  26   return 0;
  27 }
  28 
  29 
  30 //======= 関数 ========================
  31 double f(double x)
  32 {
  33   double y;
  34 
  35   y=sin(x)*sin(x);
  36 
  37   return y;
  38 }
2次関数で近似を行うことを考える.2次関数で近似するためには,3点必要である.3つの
分点をそれぞれ,
 とする.そして,この2次関数を
とする.そして,この2次関数を と
する.
と
する. はラグランジュ補間に他ならないので,
はラグランジュ補間に他ならないので,
これを,区間
![$ [x_j,\,x_{j+2}]$](img20.png) で積分する.紙面の都合上,式
(3)の右辺を各項毎に積分を行う.まず,右辺第1項で
あるが,それは以下のようになる.
で積分する.紙面の都合上,式
(3)の右辺を各項毎に積分を行う.まず,右辺第1項で
あるが,それは以下のようになる.
 の範囲
の範囲
![$ [x_j,\,x_{j+2}]$](img25.png) の積分は,
の積分は,
これは,ある区間
![$ [x_j,\,x_{j+2}]$](img27.png) の積分で,その巾は
の積分で,その巾は である.区間
である.区間![$ [a,\,b]$](img29.png) にわ
たっての積分
にわ
たっての積分 は,式(7)を足し合わせればよい.ただし,
は,式(7)を足し合わせればよい.ただし,
 と足し合わせる.
と足し合わせる.
|  | (8) | 
 に反比例する.
に反比例する.
この式から,分割数 は偶数でなくてはならないことがわかる.
は偶数でなくてはならないことがわかる.
 の体積積分を考える.この体積積分は
の体積積分を考える.この体積積分は
 はM次元体の領域
はM次元体の領域 の体積,
の体積,
 はその内部
の関数の平均値である.これは3次元体の質量を考えると簡単である.その質量は,密度
の体積積分となる.これは体積に平均密度を乗じた値に等しい.当たり前の式である.こ
のことから,式(9)の積分の値が欲しければ,体積と平均値が分か
ればよいことになる.
はその内部
の関数の平均値である.これは3次元体の質量を考えると簡単である.その質量は,密度
の体積積分となる.これは体積に平均密度を乗じた値に等しい.当たり前の式である.こ
のことから,式(9)の積分の値が欲しければ,体積と平均値が分か
ればよいことになる.
積分を計算するために,まずは体積である.これは体積の計算が容易な単純な形状の内部
に,領域 を包み込み,その内部にランダムに配置されたサンプル点の数を数えれ
ば良いのである.単純な形状内部に配置されたランダムな点の数を
を包み込み,その内部にランダムに配置されたサンプル点の数を数えれ
ば良いのである.単純な形状内部に配置されたランダムな点の数を とする.そして,
その内部にある積分領域
とする.そして,
その内部にある積分領域 に含まれる点の数を
に含まれる点の数を
 とする.さらに,単純
な形状の体積を
とする.さらに,単純
な形状の体積を ,領域
,領域 のそれを
のそれを
 とすると,
とすると,
|  | (10) | 
 が
多くなればなるほど,近似の精度は良くなる.
が
多くなればなるほど,近似の精度は良くなる.
残りは,体積内部の平均
 である.これも簡単で,領域
である.これも簡単で,領域 内部
にあるサンプル点の平均より求めることができる.即ち,
内部
にあるサンプル点の平均より求めることができる.即ち,
|  領域  の内部のみ | (11) | 
 は
は 番目のサンプル点の
番目のサンプル点の
 座標で
ある.また,
座標で
ある.また,
 は領域内部のサンプル数である.この計算も簡単で,コンピューター
は難なく,平均値の近似値を計算することができる.
は領域内部のサンプル数である.この計算も簡単で,コンピューター
は難なく,平均値の近似値を計算することができる.
以上より,モンテカルロ法を用いると,体積 と平均値
と平均値
 の近似値が
計算できることが分かる.従って,式(9)の近似値を求めることが
できる.
の近似値が
計算できることが分かる.従って,式(9)の近似値を求めることが
できる.