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