SET WINDOW -1,7,-1,7 DRAW AXES
2.3 数値計算
2.3.1 方程式の解の近似
方程式
f (x) = 0
の解
α
を近似する方法について考える.2
分法(
区間縮小法)
... ...
x b 0 a 0 = a 1
a 0 + b 0
2 = b 1 = b 2
a 1 + b 1
2 = a 2
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
有界閉区間
[a, b]
において,f(x)は次の条件を満たしていると仮定する.・f(x)は有界閉区間
[a, b]
で連続・両端における
f(x)
の値f(a)
の符号とf (b)
における符号は異符号とする.すなわち,f(a)f
(b) < 0
・f(x) = 0の解は有界閉区間
[a, b]
において唯一つしかないとする.このとき,以下の手順で解
α
を近似する.今,f(a)
< 0 , f (b) > 0
と仮定する.(逆の場合も同様の手順で近似できる)(0) a 0 = a , b 0 = b
とする.(1) a 0
とb 0
の中点a 0 + b 0
2
におけるf (x)
の符号を調べる.f ( a 0 + b 0
2 ) = 0
のときは,解はα = a 0 + b 0
2
となり,完了.f ( a 0 + b 0
2 ) < 0
のときは,a1 = a 0 + b 0
2 , b 1 = b 0
とする.f ( a 0 + b 0
2 ) > 0
のときは,a1 = a 0 , b 1 = a 0 + b 0
2
とする.このとき,αは
a 1
とb 1
の間に存在する.(2) a 1
とb 1
の中点a 1 + b 1
2
におけるf(x)
の符号を調べる.f ( a 1 + b 1
2 ) = 0
のときは,解はα = a 1 + b 1
2
となり,完了.f( a 1 + b 1
2 ) < 0
のときは,a2 = a 1 + b 1
2 , b 2 = b 1
とする.f( a 1 + b 1
2 ) > 0
のときは,a2 = a 1 , b 2 = a 1 + b 1
2
とする.このとき,αは
a 2
とb 2
の間に存在する.· · · ·
(k) a k − 1
とb k − 1
の中点a k − 1 + b k − 1
2
におけるf(x)
の符号を調べる.f( a k − 1 + b k − 1
2 ) = 0
のときは,解はα = a k − 1 + b k − 1
2
となり,完了.f( a k − 1 + b k − 1
2 ) < 0
のときは,ak = a k − 1 + b k − 1
2 , b k = b k − 1
とする.f( a k−1 + b k−1
2 ) > 0
のときは,ak = a k − 1 , b k = a k−1 + b k−1
2
とする.このとき,αは
a k
とb k
の間に存在する.b = k − a k
が要求された精度(誤差の限界)
より,小さくなれば,中点a k − 1 + b k − 1
2
を近似解として採用する.誤差
E
はE < = b k − a k = 1
2 k (b − a)
と評価できるが,能率はよくない.n
等分法2
分法では区間を2
等分ずつ行ったが,ここではn
等分して考える.今,f
(a) < 0 , f (b) > 0
と仮定する.(逆の場合も同様の手順で近似できる)(0) a 0 = a , b 0 = b
とする.(1)
区間[a 0 , b 0 ]
をn
等分し,隣り合った分点の組でf(x)
の符号が異符号になっている分 点の組を求める.その左の点をa 1
,右の点をb 1
とする.分点の中でf(x)
の値が0
になる 分点があれば,それが求める解なので完了.(2)
区間[a 1 , b 1 ]
をn
等分し,隣り合った分点の組でf(x)
の符号が異符号になっている分 点の組を求める.その左の点をa 2
,右の点をb 2
とする.分点の中でf(x)
の値が0
になる 分点があれば,それが求める解なので完了.· · · ·
(k)
区間[a k − 1 , b k − 1 ]
をn
等分し,隣り合った分点の組でf (x)
の符号が異符号になってい る分点の組を求める.その左の点をa k
,右の点をb k
とする.分点の中でf(x)
の値が0
に なる分点があれば,それが求める解なので完了.b = k − a k
が要求された精度(誤差の限界)
より,小さくなれば,中点a k − 1 + b k − 1
2
を近似解として採用する.誤差
E
はE < = b k − a k = 1
n k (b − a)
と評価できる.能率はは
2
分法と比べてどうだろうか?Newton
法... ...
x x 0
x 1
x 2
.. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. .. . .. .. .. .. .. . .. .. .. .. .. .. . .. .. .
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
. .. . .. .. . .. . .. . .. . .. . .. .. . .. . .. . .. . .. .. . .. . .. . .. . .. .. . .. . .. . .. . .. .. . .. . .. . .. . .. . .. .. . .. . .. . .. . .. .. . .. . .. . .. . .. .. . .. . .. . .. . .. .. . .. . .
...
...
...
...
...
...
...
. . . .. . . .. . .. . .. . ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
有界閉区間
[a, b]
において,f(x)は次の条件を満たしていると仮定する.・f(x)は有界閉区間
[a, b]
で2
回微分可能でf 00 (x)
は定符号・両端における
f(x)
の値f(a)
の符号とf (b)
における符号は異符号とする.すなわち,f(a)f
(b) < 0
このとき,aと
b
の間にはただ一つの解を持つ.以下の手順で解α
を近似する.今,f
00 (x) > 0 , f (a) < 0 , f (b) > 0
と仮定する.(他の場合も同様の手順で近似できる)(0) x 0 = b
とする.(1) x 0
におけるy = f(x)
の接線y = f 0 (x 0 )(x − x 0 ) + f (x 0 )
を引き,x軸と交わった 交点をx 1
とする.x1 = x 0 − f (x 0 )
f 0 (x 0 )
(2)
同様に,x1
におけるy = f(x)
の接線y = f 0 (x 1 )(x − x 1 ) + f (x 1 )
を引き,x
軸と交わった交点をx 2
とする.x2 = x 1 − f(x 1 ) f 0 (x 1 )
· · · ·
(k) x k − 1
におけるy = f(x)
の接線y = f 0 (x k − 1 )(x − x k − 1 ) + f (x k − 1 )
を引き,x
軸と交わった交点をx k
とする.xk = x k − 1 − f(x k − 1 ) f 0 (x k − 1 )
以上まとめると,
x k = x k−1 − f (x k − 1 ) f 0 (x k − 1 )
x 0 = b (初期値 または, x 0 = a)
初期値
x 0
をa
にとるかb
にとるかは,f(a)あるいはf (b)
がf 00 (x)
と同符号になるよう に選ぶとよい.誤差の評価を行うのに,f(x)を
x = x k − 1
においてTaylor
の定理を適用すると(n = 2) f(α) = f(x k − 1 ) + f 0 (x k − 1 )(α − x k − 1 ) + 1
2 f 00 (c)(α − x k − 1 ) 2 E k = | x k − α | =
x k − 1 − α − f (x k−1 ) − f (α) f 0 (x k − 1 )
= 1 2
f 00 (c) f 0 (x k − 1 )
| x k − 1 − α | 2
ここで,m1 = min
x ∈ [a,b] | f 0 (x) | , M 2 = max
x ∈ [a,b] | f 00 (x) |
とおけば,E k < = M 2
2m 1 | x k − 1 − α | 2 = M 2 2m 1 E k 2 − 1
このような収束を
2
次収束といい,非常によい近似になっている.これに対して,2分 法やn
等分法はE k < = cE k − 1
の評価なので,1次収束となっている.割線法
(セカント法)
Newton
法では,接線を用いたがここでは接線の代わりに曲線上の2
点を結ぶ直線(割
線)を用いてみよう.
2
点(x k−1 , f(x k−1 )) , (x k , f(x k ))
を通る直線の方程式はy = f(x k ) − , f (x k − 1 )
x k − x k − 1 (x − x k ) + f (x k )
となるので,x軸との交点は
x = x k − (x k − x k − 1 )f (x k )
f (x k ) − f (x k − 1 )
となる.これをx k+1
とおく.Newton
法と同様に次の式が得られる.
x k+1 = x k − (x k − x k − 1 )f (x k )
f(x k ) − f (x k − 1 )
初期値x 0 , x 1
...
x 3 x 2 x 1 x 0
.. ...x
. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. . .. .. .. . .. .. . .. .. . .. .. . .. .. .. . ..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
...
...
...
...
...
...
. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. . .. ...
...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
Newton
法と同様の仮定をおけば,2つの初期値x 0 , x 1
をf(x)
の値がf 00 (x)
の符号と同 符号になる2
点を選べばよい.この割線法はNewton
法に比べてその能率は若干悪くなる.問題
5
f(x) = x 2 − 2 = 0
の解を近似するプログラムを,2分法,10等分法,Newtonの 方法,割線法のそれぞれについて作成せよ.2.3.2 定積分の近似
ここでは,
∫ b a
f(x) dx
の近似値を求める方法について考えてみよう.区分求積法
(
短冊近似)
定積分の定義は,閉区間
[a, b]
の分割∆
a = x 0 < x 1 < x 2 < · · · < x n − 1 < x n = b
と
n
個の小区間[x k − 1 , x k ](k = 1, 2, 3, · · · , n)
から,点ξ k
を選び,Riemann和S(∆, { ξ k } ) =
∑ n k=1
f (ξ k )(x k − x k − 1 )
を考え,分割
∆
の最大幅| ∆ |
を0
に限りなく近づけた時の極限| ∆ lim |→ 0 S(∆, { ξ k } )
が分割の仕方
∆
や小区間からの点の選び方{ ξ k }
に関係なくある一定の値に近づくとき,その値を,
∫ b
a
f(x) dx
と定義する.今,分割
∆
をn
等分にとり,小区間からの点の選び方{ ξ k }
を小区間の左端の点x k − 1
を 選ぶと,x k = a + (b − a)
n k , ξ k = x k − 1 = a + (b − a)
n (k − 1)
となり,その場合のRiemann
和S n (1)
はS n (1) =
∑ n k=1
f (
a + (b − a)
n (k − 1)
) b − a n
{ ξ k }
を小区間の右端の点x k
を選ぶと,その場合のRiemann
和S n (2)
はS n (2) =
∑ n k=1
f (
a + (b − a)
n k
) b − a n
定積分の定義から,∫ b a
f(x) dx
の近似値として,nを大きくとって,Sn (1)
やS n (2)
を採用 することができる....
x 0 x 1 x 2 x n − 1 x n
. ...x S n (1)
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
... ... ... ... ... ...
... ... ... ... ..
...
x 0 x 1 x 2 x n − 1 x n
. ...x S n (2)
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
... ... ... ... ... ...
... ... ... ... ..
台形近似法
... ...
x
x 0 x 1 x 2 x n − 1 x n
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
....
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
.
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
....
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
区分求積法
(短冊近似法)
では,各小区間の定積分を長方形で近似したが,ここでは,(x k − 1 , y k − 1 )
と(x k , y k )
を結ぶ台形で近似する.これは,結果的に,y= f(x)
の曲線を折 れ線で近似することと同じになる.そうすると,近似公式は,1
2 (y 0 + y 1 ) b − a n + 1
2 (y 1 + y 2 ) b − a
n + · · · + 1
2 (y n − 1 + y n ) b − a n
= b − a
2n { y 0 + y n + 2(y 1 + y 2 + · · · + y n − 1 ) }
となる.これを台形近似法あるいは台形公式といい,区分求積法
(短冊近似法)
のS n (1)
とS n (2)
の平均S n (1) + S n (2)
2
に等しい.台形近似法の誤差
E
については次のような評価が得られる.E < =
(b − a) 3 M 2
12n 2
ここで,M2 = max
xı[a,b] | f 00 (x) |
とする.Simpson
の公式... ...
x 0 x 1 x 2 · · · · x 2n − 2 x 2n − 1 x 2n x
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
..
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
... ... ...
... ... ... ... ... ... ... ... ... ... ... ... ... ... ...
区間
[a, b]
を2n
等分する.分点をx k = a + b − a
2n k (k = 0, 1, 2, · · · , 2n)
とし,各分点に おけるy
の値をy k = f(x k )
とおく.n
個の小区間[x 2k − 2 , x 2k ]
において,3点(x 2k − 2 , y 2k − 2 ) , (x 2k − 1 , y 2k − 1 ) , (x 2k , y 2k )
を通 る2
次曲線でf (x)
を近似する.g(x)
が2
次関数のとき,∫ b a
g(x) dx = b − a 6
(
g(a) + 4g
( a + b 2
)
+ g(b) )
となるので,これを各小
区間に適用すると