Lagrange補間関数

区間$[a,b]$の上に与えられる関数$f$に対して、節点$x_1<x_2<x_3<\cdots <x_n$では$f$と一致する$n-1$次多項式$p$は$f$のLagrange補間関数と呼ぶ。

1次補間関数

$x_1=0,x_2=1$を考える。この時、以下の条件を満たす基底関数$\phi_1, \phi_2$を求めます。

$$ \phi_i(x_j) = \delta_{ij} = \left\{ \begin{array}{c} 0\quad \mbox{ if } i\not= j \\ 1\quad\mbox{ if } i=j \end{array} \right. $$

$\phi_i$の表現式:

$$ \phi_1(x) = \frac{x-x_2}{x_1 - x_2},\quad \phi_2(x) = \frac{x_1-x}{x_1 - x_2} $$

以下の図には、$\phi_i$のグラフを描画します。

$(x1,y1), (x2,y2)$を通っている1次多項式は$\phi_1$, $\phi_2$の線形結合で表すことができます。

例:$(0,2), (0,-1)$を通っている1次多項式

演習1

基底関数の表現式

$$ \phi_1(x) = \frac{(x-x_2)(x-x_3)}{(x_1-x_2)(x_1-x_3)},\quad \phi_2(x) = \frac{(x-x_1)(x-x_3)}{(x_2-x_1)(x_2-x_3)},\quad \phi_3(x) = \frac{(x-x_1)(x-x_2)}{(x_3-x_1)(x_3-x_2)} $$ $$(0, 1), (0.5, -1), (1,5)$$ $$(0, 1), (0.5, 2), (1,2.9)$$

一般的な$n$点式Lagrange補間関数

基底関数$\phi_i(x)$

$$ \phi_i(x)= \frac{(x-x_1)(x-x_2)\cdots (x-x_{i-1})(x-x_{i+1})\cdots (x-x_{n})}{(x_i-x_1)(x_i-x_2)\cdots (x_i-x_{i-1})(x_i-x_{i+1})\cdots (x_i-x_{n})} = \frac{\prod_{j=1,j\not=i}(x-x_j) }{\prod_{j=1,j\not=i}(x_i-x_j) } $$

演習3

上記の基底関数$\phi_i$に対応するOctaveの関数$Lagrange(xlist, i,x)$を作ってください。

要求:Lagrange以下のパラメータに対して、$\phi_i(x)$の値を返してくれます。

入力引数

返却値  $\phi_i(x)$

演習4

$[0,1]$の6等分割に対して、6次Lagrange補間関数の各基底関数のグラフを描いてください。

$$ x_1=0, x_2=1/6, \cdots, x_7=1 $$

演習5

$[-1,1]$上の関数$f$の$n$次Lagrange補間関数を求めて、グラフを描いてください。ただし、$n=3,4,\cdots 10$。節点は等分割を使ってください。

$$ f=\frac{1}{1+25x^2} $$