エルミート補間の解説

エルミートの補間法
測定などで得られる数個の点とそれに対応する測定値から、その間を埋める関数値を計算するものが補間法
である。その方法はいろいろあるが、一つの方法がエルミートの補間法である。
¶
³
[例題] 与えられた点列をエルミート補間法により補間し、ディスプレイに表示するプログラムを作れ。
µ
´
[解説]
[前置き] エルミートの補間法の解説に入る前に、前置きをします。
エルミートは、条件として、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)