5.3 ラグランジェ(Lagrange)の補間式 イタリアのトリノ生まれ,フランスで活動した数学者・天文学者 ジョセフ=ルイ・ラグランジェの提唱。 ラグランジェってどんな人? 最初,微分積分学の物理学、特に力学への 応用に業績を残し,その後,力学を一般化し て、最小作用の原理に基づく、解析力学(ラ グランジュ力学)を提唱した。 度量衡の標準化にも尽力した。マリーアント ワネットの数学教師であったことでも有名で ある。 1736/1/25 - 1813/4/10 Joseph-Louis Lagrange (1)考え方 次のような補間式を考える。 f ( x1 ) a1 ( x x2 )( x x3 )()( x xn 1 ) ( x1 x2 )( x1 x3 )()( x1 xn 1 ) a2 ( x x1 )( x x3 )()( x xn 1 ) ( x 2 x1 )( x 2 x3 )()( x 2 xn 1 ) ( x x1 )( x x3 )()( x xn 1 ) an 1 ( x n 1 x1 )( x n 1 x2 )()( x n 1 xn ) 点列を代入すると,代入の繰返しで係数を求めることができる。 f ( x1 ) a1 , f ( x2 ) a2 ,, f ( xn1 ) an1 (2)等間隔のとき① 等間隔のとき次のようになる。 h x2 x1 x3 x2 xn1 xn ( x x2 )( x x3 )()( x xn 1 ) f ( x) f ( x1 ) (h)( 2h)()( nh) ( x x1 )( x x3 )()( x xn 1 ) f ( x2 ) (h)( 2h)()( (n 1)h) ( x x1 )( x x3 )()( x xn 1 ) f ( xn 1 ) (nh)(( n 1)h)()( h) f ( x1 ) ( x x2 )( x x3 )()( x xn 1 ) n n (1) n!h f ( x2 ) ( x x1 )( x x3 )()( x xn 1 ) n 1 n (1) n!h f ( xn 1 ) ( x x1 )( x x3 )()( x xn 1 ) n n!h (2)等間隔のとき② 表データは,点間の幅を h とすると, f ( x1 ) (u 1)(u 2)()(u n) n (1) n! f ( x2 ) u (u 2)()(u n) n 1 (1) (n 1)! f ( xn 1 ) u (u 2)()(u (n 1)) n! an 1 (nh)(n 1)h(n 2)h (h) p(u ) f ( x1 uh) 計算すると(ただしExcelで計算しよう) 0.17365 p (u ) 0.0000 u (u 2)(u 3)(u 4) 1!3! 0.34202 u (u 1)(u 3)(u 4) 2!2! 0.50000 u (u 1)(u 2)(u 4) 3!1! 0.64279 u (u 1)(u 2)(u 3) 4! (3)例 X(度) sin(X) 0 0.0000 10 0.17365 20 0.34202 30 0.50000 40 0.64279 (4)Excelでの定義 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 End Sub 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) End Function 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 Next 補間計算 = T End Function 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の補間では,奇妙な振動が起きる。 ロジスティックの成長曲線をLagrangeの補間で近似すると この振動をルンゲ(Runge)の現象と呼ぶ。 誤差=真値-近似値 端点が直線的なとき 端点付近で 誤差が大きくなる 非連続的な ジャンプ点があるとき ジャンプ点付近で 誤差が大きくなる
© Copyright 2024 ExpyDoc