藍上雄のガラクタ箱

補間(前)

 補間という言葉が有ります。文字通り、「間を補う」事を、示しております。現在コンピュータの世界では、重要な位置を示しています。

 有名なのが、ラグランジュの補間関数です。ジョセフ・ルイ・ラグランジュは、18世紀後半から19世紀初めにかけて活躍したフランスの数学者です。      δj(x)=i=1〜n(x-ξi)/i=1〜n(ξj−ξi)  (※ラグランジュの補間係数)  節点ξiを、n個用意した時、δj(x)も同じ個数が必要となります。全体的な補完曲線は、δj(x)の和として現されます。ちなみにx=ξjの時δj(x)=1であり、ξj=ξiの時、欠点として扱われるので、高精度の補間には不向きだと思います。節点の数もあまり多くするとルンゲ現象が起こり易くなってしまいます。4個ぐらいの節点が限度だと思います。   ※ルンゲ(Runge)現象:単一多項式を用いて補間した時に、振動の大きくなる補間曲線となる現象

 ここからスプライン関数(Spline fanction)の概要についてです。

 接点ξi(xi,yi){i=1・2・3・・・n}を、Sj(x){j=1・2・3・・・n}なるm次の多項式で、つなぐ事を考えます。n個の節点を通る曲線y(x)=Σj=1〜nSj(x)を考えると、 m=0の時、y(x)は階段グラフと成り、m=1ではSj(x)は折れ線グラフと成ります。これではとても曲線とは言えません。 さて「n個の節点を最短距離で結ぶ曲線」とは、どんな曲線でしょうか? Siを接点ξiとξi+1間の曲線の長さとすると、曲線y(x)の長さはL=Σi=1〜n-1Siと表されます。ここからは、Siの長さを求めるてみます。まず近似的に、Si≒√{(xi+1-xi)^2+(yi+1-yi)^2} Si=Summa xi〜xi+1(凾ri/凅i) dx と表されます。 凾ri=√{凾^2+凾凵O2} 凾ri/凾=√{1+(凾/凾)^2}  (凾^2→0の時、dSi/dx=√{1+(y')^2}・・・@ となります。) したがって L=Σi=1〜n-1Summaxi〜xi+1 √{1+(凾/凾)^2} dx と表されます。

 接点ξi(xi,yi)の曲線y(x)の傾きは、y'(xi)=tan(θ)と成ります。・接点ξi(xi+1,yi+1)の曲線y(x)の傾きを、y'(xi+1)=tan(θ+刄ニ)とする時、y''={y'(xi+凅)-y'(xi)}/凅 ={tan(θ+刄ニ)-tan(θ)}/凅 凾→0とすると (dx/dθ)y''=(1/cosθ)'sinθ+(1/cosθ)sin'θ=1+(tanθ)^2=1+y''  と成るので、 dθ/dx={1/(1+y'^2)}y''ここで@の式を用いて

 lim凾ri→0dθ/凾ri=(dθ/dx)/(凾ri/dx)={y''/(1+y'^2)}/√(1+y'^2)=y''/(1+y'^2)^(3/2) と曲率が表されます。

 曲率の合計をεとする時。 ε=Σi=1〜n-1Summa y''/(1+y'^2)^(3/2) dx と成るので、要するに ε'=Σi=1〜n-1Summa y''~2 dx を最小にする関数y(x)が、「n個の節点を最短距離で結ぶ曲線」と成るはずです。少なくとも関数y(x)を2回以上微分出来なけばならないので、最低でも3次の多項式による関数が必要になります。

 補間(後)では、もう少し、具体的な話になります。