|
台形公式では、台形1本分(xkからxk+1まで)
の幅hのf(x)の積分を、
{ f( xk )+ f( xk+1 ) }* (h/2) で代用しています。
|
台形の
左半分
|
台形の左半分は xk に近いので、
関数を x 〜 xk の周りで
テイラー展開すると
f(x) 〜 c0
+ c1( x-xk )
+ c2( x-xk )2
+ c3( x-xk )3
+ c4( x-xk )4
+ ...
-
ただし
c0 = f ( xk )
c1 = f ' (xk)/1!
c2 = f '' (xk)/2!
c3 = f ''' (xk)/3!
:
これを、左半分 ( xkからxk+ h/2まで) 積分すると
∫xkxk+h/2 f(x) dx 〜
[ c0 x
+ c1( x-xk )2/2
+ c2( x-xk )3/3
+ c3( x-xk )4/4
+ c4( x-xk )5/5
+ ...]xkxk+h/2
代入すれば
= c0 (h/2)
+ c1( h/2 )2/2
+ c2( h/2 )3/3
+ c3( h/2 )4/4
+ c4( h/2 )5/5
+ ...
= f(xk)(h/2)
+ f '(xk)(h/2)2/2!
+ f''(xk)(h/2)3/3!
+ f'''(xk)(h/2)4/4!
+ f''''(xk)(h/2)5/5!
+ ...
|
台形の
右半分
|
同様に、
台形の右半分は xk+1 に近いので、
関数を x 〜 xk+1 の周りで
テイラー展開すると
f(x) 〜 c0
+ c1( x-xk+1 )
+ c2( x-xk+1 )2
+ c3( x-xk+1 )3
+ c4( x-xk+1 )4
+ ...
-
ただし
c0 = f ( xk+1 )
c1 = f ' (xk+1)/1!
c2 = f '' (xk+1)/2!
c3 = f ''' (xk+1)/3!
:
これを、右半分 ( xk+ h/2 から xk+1まで) 積分すると
∫xk+h/2xk+1 f(x) dx 〜
[ c0 x
+ c1( x-xk+1 )2/2
+ c2( x-xk+1 )3/3
+ c3( x-xk+1 )4/4
+ c4( x-xk+1 )5/5
+ ...]xk+h/2xk+1
代入すれば
= c0 (h/2)
- c1( -h/2 )2/2
- c2( -h/2 )3/3
- c3( -h/2 )4/4
- c4( -h/2 )5/5
- ...
2乗と3乗では + - が変わって
= f(xk+1)(h/2)
- f '(xk+1)(h/2)2/2!
+ f''(xk+1)(h/2)3/3!
- f'''(xk+1)(h/2)4/4!
+ f''''(xk+1)(h/2)5/5!
-...
|
台形
1本分
|
右半分と左半分を足すと
∫xkxk+1 f(x) dx 〜
= f(xk)(h/2) + f(xk+1)(h/2)
+ f '(xk)(h/2)2/2!
- f '(xk+1)(h/2)2/2!
+ f''(xk)(h/2)3/3!
+ f''(xk+1)(h/2)3/3!
+ f'''(xk)(h/2)4/4!
- f'''(xk+1)(h/2)4/4!
+ f''''(xk)(h/2)5/5!
+ f''''(xk+1)(h/2)5/5!
+...
」
台形公式が再現しているのはここまで
打ち切られたあとの部分が台形1本あたりの誤差になります。
|
台形公式
の誤差
|
台形n本分合計すると、台形公式の誤差は
Σk=0n-1 { f '(xk) - f '(xk+1) } (h/2)2/2!
+Σk=0n-1 { f''(xk) + f''(xk+1) } (h/2)3/3!
+Σk=0n-1 { f'''(xk) - f'''(xk+1) } (h/2)4/4!
+Σk=0n-1 { f''''(xk) + f''''(xk+1) } (h/2)5/5!
+...
誤差の1行目は、+ と - が出てくるため、全部足すと打ち消しあって両サイドだけが残り
{ f '(x0) - f '(xn) }(h/2)2/2! となります。つまり
{ f '(a) - f '(b) }(h/2)2/2!
誤差の2行目は
Σk=0n-1 { f''(xk) + f''(xk+1) } (h/2)3/3!
Σk=0n-1 { f''(xk) + f''(xk+1) } (h/2)
かける (h/2)2/3! に分けてみてください。
前半は、
f'(xk)と
f'(xk+1)を足してh/2 をかけ、全部足しているので、
f'(x)の台形公式による定積分です。
f'(x)を 積分したらf '(x)です。
積分区間aからbまでなら、定積分の結果は [f '(x)]x=ax=b= f'(b)-f'(a)です。
てことは、
台形公式の誤差の2行目は
{ f'(b)-f'(a) } (h/2)2/3! になるわけです。
|
h2 に比例
|
誤差の1行目,2行目をたすと
{ f'(b)-f'(a) } (h/2)2(1/2!+1/3!) となります。
同様に、
誤差の3行目は、+ と - が出てくるため、全部足すと両サイドだけが残り
{ f '''(a) - f '''(b) }(h/2)4/4!
誤差の4行目は
Σk=0n-1 { f''''(xk) + f''''(xk+1) } (h/2)
と (h/2)4/5! に分けると
前半は、
f '''' (x)の定積分で、
[f '''(x)]x=ax=b= f'''(b)-f'''(a)ですので、
台形公式の誤差の4行目は
{ f'''(b)-f'''(a) } (h/2)4/5! になり、
|
h4 に比例
|
誤差の3行目,4行目をたすと
{ f'''(b)-f'''(a) } (h/2)2(1/4!+1/5!) となります。
|
台形公式
の誤差
|
以下、同じように続けていくと、
台形公式の誤差は、
{ f'(b)-f'(a) } h2/(定数)
+
{ f'''(b)-f''''(a) } h4/(定数)
+
{ f'''''(b)-f''''''(a) } h6/(定数)
+ ...
のようになります。
1階微分、3階微分、5階微分、... は出てきますが、
2階微分、4階微分、6階微分、... は出てきません。
h2、 h4、 h6... は出てきますが、
h1、 h3、 h5... は出てきません。
だからどうした、というと、
もし、積分したい関数の{ f'(b)-f'(a) } がたまたま0だった場合、
台形公式の誤差は、
h2 ではなく、 h4 に比例して
激減していく、ということがわかります。
|