5.3 ラグランジェ(Lagrange)の補間式 イタリアのトリノ生まれ,フランスで活動した数学者・天文学者 ジョセフ=ルイ・ラグランジェの提唱。 ラグランジェってどんな人? 最初,微分積分学の物理学、特に力学への応用に業績を残し,その後,力学を一般化して、最小作用の原理に基づく、解析力学(ラグランジュ力学)を提唱した。 度量衡の標準化にも尽力した。マリーアントワネットの数学教師であったことでも有名である。 1736/1/25 - 1813/4/10 Joseph-Louis Lagrange
(1)考え方 次のような補間式を考える。 点列を代入すると,代入の繰返しで係数を求めることができる。
(2)等間隔のとき① 等間隔のとき次のようになる。
(2)等間隔のとき② 表データは,点間の幅を とすると,
(3)例 計算すると(ただしExcelで計算しよう) X(度) sin(X) 0 0.0000 10 0.17365 20 0.34202 30 0.50000 40 0.64279
(4)Excelでの定義
X(i) = XX: FY(i) = Sin(XX * 3.1415926 / 180) XX = XX + DX Next VBAでのプログラム ①データ設定とボタンのClickイベントハンドラ Sub データ設定() XX = 0: DX = 10 For i = 1 To 5 X(i) = XX: FY(i) = Sin(XX * 3.1415926 / 180) XX = XX + DX Next UX = (22 - X(1)) / DX End Sub Sub ボタン1_Click() データ設定 R = Ragrange(FY, UX, 5) MsgBox " 結果=" & R
VBAでのプログラム ②階乗,項設定,補間計算 Function Fact(N) As Double '階乗の計算 Dim D As Double: D = 1 For i = 2 To N D = D * i Next Fact = D End Function Function 項設定(i, N, FY) As Double 項設定 = (-1) ^ (N - i) * FY(i) / Fact(i - 1) / Fact(N - i) Function 補間計算(i, N, UX) As Double U = UX: T = 1 For k = 1 To N If i <> k Then T = T * U U = U - 1 補間計算 = T
VBAでのプログラム ③補間のメイン Function Ragrange(FY, UX, N) T = 0 For i = 1 To N A = FY(1) If i >= 2 Then A = 項設定(i, N, FY) * 補間計算(i, N, UX) T = T + A Next Ragrange = T End Function
(5)Lagrangeの補間では,奇妙な振動が起きる。 この振動をルンゲ(Runge)の現象と呼ぶ。 誤差=真値-近似値
端点が直線的なとき 端点付近で 誤差が大きくなる
非連続的な ジャンプ点があるとき ジャンプ点付近で 誤差が大きくなる