![見出し画像](https://assets.st-note.com/production/uploads/images/110653101/rectangle_large_type_2_cb0ed264a653341ad5cb26b96a719d29.png?width=1200)
【保存版】多項式補間の一つのラグランジュ補間について学んでみよう!
0 はじめに
私は、高校時代、数学が好きでした(数学III・Cまでやりました)が、大学は文系に進みました。
最近になり、約15年ぶりに数学を学び直し始めました。
間違いのないように、一つ一つ理解しながら進んでいるつもりではありますが、何か気になるところがありましたら、優しく教えていただくと嬉しいです。
一つ一つ丁寧に学んでいきたいと思っています。
1 多項式補間とは
まずはWikipediaからの引用です。
多項式補間(たこうしきほかん、英: polynomial interpolation)は、数値解析において、与えられたデータ群を多項式で内挿(補間)することである。言い換えれば、標本調査などで得たデータ群について、それらを正確に通る多項式を見つけることである。
私は、「(N + 1)個の点があったとき、その点を通る、唯一のN次関数を見つけること」だと理解しました。
例えば、
2つの点があった時、その点を通る、唯一の1次関数を見つけたり、
3つの点があった時、その点を通る、唯一の2次関数を見つけるということです。
2 複数の点を通る関数は一つだけ?
では、仮に、下のように、3つの点を通る、2次関数について考えてみましょう。
![](https://assets.st-note.com/img/1689197433685-76edfpyDyy.png?width=1200)
フリーハンドですし、実際とは異なっていると思いますが、イメージとして、下のような唯一の2次関数ができます。
![](https://assets.st-note.com/img/1689197717491-g4tSPDyL0y.png?width=1200)
では、次に、2つの点を通る、1次関数を考えてみましょう。
![](https://assets.st-note.com/img/1689197872795-vCTEHrnsXD.png?width=1200)
こちらも、下のような唯一の1次関数が決まります。
![](https://assets.st-note.com/img/1689197984753-pnG09z4QQ2.png?width=1200)
では、2つの点を通る、2次関数はどうでしょう?
![](https://assets.st-note.com/img/1689198000636-vtFV7pHa21.png?width=1200)
その場合、下のように、無数に存在します。
![](https://assets.st-note.com/img/1689198151110-KgjIwSugjP.png?width=1200)
そのため、(N + 1) 個の点を通る、N次関数は一意に決まるということを押さえると良いと思いました。
3 (N + 1) 個の点を通る、N次関数は必ず存在する?
これは、後ほど、「ラグランジュ補間」の例で見てみましょう。
Nの数に関わりなく、求めることができることが確認できると思います。
4 ラグランジュ補間について
では、多項式補間の一つである、ラグランジュ補間の求め方について学んでみましょう。
1 前提について
まずは、下のような問題を考えてみましょう。
![](https://assets.st-note.com/img/1689199073046-wmj8azPVBj.png?width=1200)
これは、下のように作ることができます。
![](https://assets.st-note.com/img/1689199045659-XofP74H9K4.png?width=1200)
実際に代入すると、このように、うまく求まることがわかります。
![](https://assets.st-note.com/img/1689199297902-pIIjOLHfIR.png?width=1200)
別の例でも試してみましょう。
![](https://assets.st-note.com/img/1689199715400-2XkNcLHh9a.png?width=1200)
やはり、同様に、求めることができました。
![](https://assets.st-note.com/img/1689199736339-70Qe0cWRn6.png?width=1200)
2 任意の2点を通る1次関数を求める
では、下のケースを考えてみましょう。
![](https://assets.st-note.com/img/1689199912999-HpBRr35UEW.png?width=1200)
ラグランジュ補間を理解するために、まずは、Y座標を共に1として考えます。
![](https://assets.st-note.com/img/1689200056538-J4GBID9Fsn.png?width=1200)
ところで、第1節で、下のような1次関数を求める方法を学びました。
![](https://assets.st-note.com/img/1689200186685-kQV1G8G9Oo.png?width=1200)
同様に、こちらも求められますね。(上から、0と1を逆にしています。)
![](https://assets.st-note.com/img/1689200280796-MLxZBbYILo.png?width=1200)
これをくっつけると、下のようになります。
実は、これが(1, 1), (6, 1)を通る1次関数になっています。
![](https://assets.st-note.com/img/1689200415995-nCS1hCK5Xd.png?width=1200)
なぜかも考えてみましょう。
下のように、どちらかが1になる時、もう一方が0となり、お互い無視することができるからです。
![](https://assets.st-note.com/img/1689200567261-jbjTgeHj83.png?width=1200)
つまり、(1, 1), (6, 1)を通る1次関数は下のようになりました。
(整理すれば、綺麗になりますが、ここでは特に整理せず、このまま行きます。)
![](https://assets.st-note.com/img/1689200708561-rqFTvAPp3L.png?width=1200)
では、実際のY座標も含めて考えてみましょう。
下のように、x = 1の時、左側が1になったので、3にするには3倍すれば良いです。
x = 1の時、右側は0なので、考える必要がありません。
![](https://assets.st-note.com/img/1689201058184-MEADFilFkU.png?width=1200)
もう一方も同様です。
下のように、x = 6の時、右側が1になったので、2にするには2倍すれば良いです。
x = 6の時、左側は0なので、考える必要がありません。
![](https://assets.st-note.com/img/1689201272911-Fq183tcnkQ.png?width=1200)
これで、(1, 1), (6, 1)を通る1次関数を求めることができました。
3 個数を増やすとどうなるか
例えば、点を一つ増やし、2次関数を求めてみます。
結果は、下のようになります。
![](https://assets.st-note.com/img/1689201664273-MyIwmZMJRv.png?width=1200)
このように、個数を増やしたとしても、同様のやり方で求めることができることがわかりました。
今回は以上です。
サポートをしていただけたらすごく嬉しいです😄 いただけたサポートを励みに、これからもコツコツ頑張っていきます😊