エルミートの補間法 測定などで得られる数個の点とそれに対応する測定値から、その間を埋める関数値を計算するものが補間法 である。その方法はいろいろあるが、一つの方法がエルミートの補間法である。 ¶ ³ [例題] 与えられた点列をエルミート補間法により補間し、ディスプレイに表示するプログラムを作れ。 µ ´ [解説] [前置き] エルミートの補間法の解説に入る前に、前置きをします。 エルミートは、条件として、n+1 個の点で、関数値とその微係数が既知であるものとしました。したがっ て、2n+2 個の既知の値があることになります。 ということは、2n+1 次の多項式を考えてもよいことになります。(たとえば、1 次関数は 2 点が、2 次関数 は 3 点が与えられれば、関数が決定します。) 一方、ラグランジュの補間多項式 L(x) は、n 次多項式です。そこで、1 次式と (L(x))2 の積で、2n+1 次の 多項式とすることを考えました。それにより、より精度の高い補間をすることができます。 このように解釈することができます。これから解説に入ります。 関数を f (x) とするとき、次の式をエルミート (Hermite) の補間多項式とする。 P (x) = n ∑ hk (x)f (xk ) + k=0 n ∑ gk (x)f 0 (xk ) (1) k=0 ここで、hk (x), gk (x) を決定するための条件を式で表すと P (xk ) = f (xk ) . . . 関数が一致 0 0 P (xk ) = f (xk ) . . . 微係数が一致 (2) (3) (k = 0, 1, 2, . . . , n) 以下の δkl をクロネッカのデルタとする。 δkl = { 0 1 (k = 6 l) (k = l) (4) P (xk ) = f (xk ) となるには であり、P 0 (xk ) = f 0 (xk ) となるには hk (xl ) = δkl , gk (xl ) = 0 (5) h0k (xl ) = 0, gk0 (xl ) = δkl (6) でなければならない。 前置きに述べたことから、hk (x), gk (x) は、1 次式と (L(x))2 積の条件から、 hk (x) = (ax + b)[Lk (x)]2 (7) 2 (8) gk (x) = (cx + d)[Lk (x)] 1 と表すことができる。 この式は (5)(6) 式を満足するという条件より axk + b = 1 cxk + d = 0 } (9) h0k (xk ) = a + 2(axk + b)L0k (xk ) = 0 gk0 (xk ) = c + 2(cxk + d)L0k (xk ) = 1 } (10) となることになり、a,b,c,d が決定され、次のようになる。 n ∏ x − xm Lk (x) = x − xm m=0 k L0k (xk ) = 6=k n ∑ 1 x − xm k m=0 hk (x) = [1 − − xk )][Lk (x)] 2 gk (x) = (x − xk )[Lk (x)] n n ∑ ∑ 0 P (x) = hk (x)f (xk ) + gk (x)f (xk ) 6=k 2L0k (xk )(x k=0 2 k=0 この解説は、長嶋秀世氏の下記の書籍によっています。 a,b,c,d の決定については、同書に詳しく述べられています。 槙書店、長嶋秀世著、数値計算法 2 (11)
© Copyright 2024 Paperzz