amazon:Excelで操る! ここまでできる科学技術計算 第2版 楽天: Excelで操る! ここまでできる科学技術計算 [ 神足 史人 ] |
定積分は関数、xの区間、x軸で囲まれた領域の面積を計算します。 数値積分は有限個の点(x0,x1,x2,x3, ・・・・)での関数値(y0,y1,y2,y3,・・・)から面積を算出します。 点の数が少ないと、誤差が発生します。 |
図1 数値積分を行う例題のグラフ |
たった1日で即戦力になるExcelの教科書 入門者のExcel VBA―初めての人にベストな学び方 (ブルーバックス) Excel VBAのプログラミングのツボとコツがゼッタイにわかる本 |
シンプソン公式では、隣接する3点を放物線(2次関数)と仮定し数値積分を行う。 そのため、積分する関数f(x)の積分区間[a:b]を偶数個(M=2N)に等分割し、分割点での関数値(y0,y1,・・・y2M)が必要となる。 分割巾(h)は h = (a-b)/M となる。 積分値 I = ∫ f(x) dx は I = (1/3) h { y0+4(y1+y3+ ・・・・+y2M-1) + 2(y2+y4+・・・・・+y2M-2) + y2M } ・・・ (1) となる。 |
関数 f(x) = 1/(1+x2) を区間(0〜1)で積分すると、π/4=0.785398163が得られることが解っている。 エクセルシート上に、分割数(M)、区間(a〜b)を設定します。 xとそれに対応する関数f(x)を設定します。関数を変更すれば、その関数に対応した数値積分 が可能となる。最後に計算結果エリアを設定します。 図2 数値積分用のエクセルシート |
エクセルの操作による数値積分より、VBAによる数値積分プログラム作成のほうが容易です。 セルの値を読み込み、シンプソン公式を用い数値積分を行い、計算結果をセルに出力します。 関数はシート上のxに値を設定し、y=f(x)の値を取り出します。 図3 シンプソンの公式のVBAプログラム |
積分実行のボタンを作り、マクロを登録しておくと便利です。 積分実行ボタンをクリックすると、積分値が算出されました。 π/4の値になっているようです。 図4 数値積分(シンプソンの公式)の実行結果 |