LoginSignup
5

More than 5 years have passed since last update.

posted at

updated at

ラグランジュの補間多項式

ラグランジュの補間多項式とは

ラグランジュの補間多項式の目的

二つの点$ (x_0, y_0), (x_1, y_1) $が与えられたときそれらの点を通る直線は1つに定まります。同じように点が三つ与えられたときはそれらを通る放物線は1つに定まりますね。これを一般化すると、$
( n + 1 ) $個の点が与えられた時、それらを通るn次関数は一つに定まりますよね。これを求めるのがラグランジュ多項式です。

具体的にどういう風に求めるか

まず与えられた点の数だけ
3つの点$ (x_0, y_0), (x_1, y_1), (x_2, y_2) $が与えらえてるとします。まず、与えられた点の数だけ関数を作ります
1. $ f_0(x) = (x - x_1) (x - x_2) $
2. $ f_1(x) = (x - x_2) (x - x_0) $
3. $ f_2(x) = (x - x_0) (x - x_1) $
これらの方程式には次のような特徴があります
1. $ f_0(x_1) = f_1(x_2) = 0 $
2. $ f_1(x_2) = f_1(x_0) = 0 $
3. $ f_2(x_0) = f_2(x_1) = 0 $
なので、次の式が成り立ちます


\begin{eqnarray}

 \frac{y_0 f_0(x_i)}{f_0(x_0)} = \left\{
 \begin{array}{l}
   y_0, i =  0\\
    0, i \in \{1, 2\}
 \end{array}\right. \\

\frac{ y_1 f_1(x_i)}{f_1(x_1)} = \left\{
\begin{array}{l}
    y_1, i =  1\\
    0, i \in \{0, 2\}
\end{array}\right. \\

\frac{ y_2 f_2(x_i)}{f_2(x_2)} = \left\{
\begin{array}{l}
    y_2, i =  2\\
    0, i \in \{0, 1\}
\end{array}\right.
\end{eqnarray}

なので$ g(x) = \sum_{k = 0}^{2} y_k \frac{f_k(x)}{f_k(x_k)} $とすると、

  g(x_0) = y_0 \\
  g(x_1) = y_1 \\
  g(x_2) = y_2 \\

きちんと$ g(x) $は$(x_0, y_0), (x_1, y_1), (x_2, y_2) $を通っているのがわかります。

一般化

$ n + 1 $個の点$ (x_0, y_0), (x_1, y_1) ..... (x_n, y_n) $まず、$ f_i(x) $の一般化ですね。

f_i(x) = \frac{\prod_{k = 0}^n(x - x_k) }{ (x - x_i) }

この関数は先ほど確かめた通り次の特徴を持ちます。

k \neq i \Rightarrow f_i(x_k) = 0

なので、求めたい関数は

\sum_{ k = 0 }^n \frac{ y_i f_k(x) }{ f_k(x_k) }

になります。

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
What you can do with signing up
5