8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

stmtkAdvent Calendar 2017

Day 3

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

Last updated at Posted at 2017-12-25

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

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

二つの点$ (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) $
    これらの方程式には次のような特徴があります
  4. $ f_0(x_1) = f_1(x_2) = 0 $
  5. $ f_1(x_2) = f_1(x_0) = 0 $
  6. $ 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) }

になります。

8
5
0

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
  3. You can use dark theme
What you can do with signing up
8
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?