Professional Documents
Culture Documents
0 0 0 0 0
1/2 1/2 0 0 0
1/2 0 1/2 0 0
1 0 0 1 0
1/6 1/3 1/3 1/6
M. Reggio
1
k1 = hf ( xi , yi ) 1/2 1/2 = hf 1
k 2 = hf ( xi + c2 h , yi + a21k1 ) 1/2 = hf 2
1/2
k3 = hf ( xi + c3 h , yi + a31k1 + a32 k 2 ) 1 = hf 3
1
k4 = hf ( xi + c4 h , yi0+ a41k1 + a42 k 2 + a43 k3 ) = hf 4
0 0
yi +1 = yi + w1k1 + w2 k 2 + w3 k3 + w4 k4 k1 = hf ( xi , yi )
h 1
k2 = hf xi + , yi + k1
2 2
1/6 2/6 2/6 1/6
h 1
k3 = hf xi + , yi + k2
2 2
k4 = hf ( xi + M. i + k3 )
h, yReggio
1
c2 a21
c3 a31 a32
c4 a41 a42 a43
cm am1 am 2 am 3 am ,m −1
w1 w2 w3 wm −1 wm
M. Reggio
1
c1 a11 a12 a1,m
c2 a21 a22 a2 , m
c3 a31 a32 a33
cm
am1 am 2 am , m
w1 w2 w3 wm −1 wm
M. Reggio
1
− y
f ( X ,t) =
x
La solution exacte est un cercle:
r cos(t + k )
X (t ) =
r sin(t + k )
M. Reggio
1
La solution exacte est un cercle:
1
dX − y
= f ( X ,t ) f ( X ,t) =
x
dt
r cos(t + k )
X (t ) =
r sin( t + k )
M. Reggio
1
dy
= f ( t, y )
dt
yi +1 = yi + f ( xi , yi ) h vs. yi +1 = yi + f ( xi +1 , yi +1 ) h
M. Reggio
1
dx
= −kx
dt
x( t ) = x0 e − kt
En général
xi +1 = xi + hf ( t + h , xi )
Pour ce cas
x1 = (1− kh ) x0
xi +1 = xi − h kxi
xi = (1− kh ) i x0
|1− h k | ≤ 1 Contrainte
M. Reggio
1
dy
= −ay − at
dt → y =y0 e
y (0) = y0
y0 + ε , alors y ∗ =
si y(0) = ( y0 + ε )e − at
∗ dE / dt = −aE
soit E(x) = y (t) − y(t) ⇒
E (0) = ε
a < 0: l'erreur croit exponentiellement → instable
E= ε e − at ⇒ a= 0: stable (neutre)
a > 0: l'erreur decroit exponentiellement → stable
M. Reggio
1
dy
= f ( x , y ) = − ay ; y(0 ) = y0
dt
dyi
yi + 1 = yi + h = yi + ( − ayi ) h = ( 1 − ah) yi
dt
yi +1
≤ 1 ou 1 − ah ≤ 1
yi
− 1 ≤ 1 − ah ≤ 1 ⇒ 0 ≤ ah ≤ 2
M. Reggio
1
dy
= f ( x, y) = −ay ; y (0) = y0
dt
dyi +1 dyi +1
yi +1 = yi + h; =
−ayi +1
dt dt
yi
yi +1 =
1 + ah
yi +1 1
= ≤ 1 pour tout h
yi 1 + ah
M. Reggio
1
Euler explicite
0 ≤ ah ≤ 2 yi +1= (1 − ah) yi
M. Reggio
1
Stabilité: la solution est bornée, mais est-
elle semblable à la solution réelle?
M. Reggio
1
dy
= −ky
dt
− kt
y (t ) = y0 e
y i += y i − h ky i +1 1
yi +1 = yi
1 + hk
1
M. Reggio
1
En général
yi +1= yi + hf ( t + h , yi +∆x )
df
f (t + h, yi + ∆y=
) f (t + h, yi ) + ∆y Taylor 2D
dy
df
∆y= yi +1 − y=
i h f (t + h, yi ) + ∆y
dy
M. Reggio
1
hf (t + h, yi )
∆y =
df
1− h
dy
M. Reggio
1
y’=Ay f(t,y)=Ay
yk+1 = yk + Ayk+1hk
(I-hk A)yk+1 = yk
1
c1 a11 a12 a1,m
c2 a21 a22 a2 , m
c3 a31 a32 a33
cm
am1 am 2 am , m
w1 w2 w3 wm −1 wm
M. Reggio
1
s
kl = hf xi + cl h, yi + ∑ alm km kl = ∆yl
m =1
s
yi +=
1 yi + ∑ bl kl bl = wl
l =1
s
cm = ∑ amj m = 1,2...s
j =1
s c A
∑
l =1
bkl = w1∆y1 + w2 ∆y2 + ws ∆ys
T
b M. Reggio
1
f(x1+c2h,y1+a21k1) k2=h f(x1+c2h,y1+a21k1)
kl=h f(x1,y1)
a21k1
f ( x1 , y1 )
y1
c2h
x1 h x2
M. Reggio
1
=k1 hf= ( xi , yi ) hf1
k =hf ( x + c h, y + a k )
f2 2 i 2 i 21 1
= hf 2
y =y + w k + w k
i +1 i 1 1 2 2
= yi + h( w1 f1 + w2 f 2 )
f1
c2 a21
h w1 w2
1
s
kl = hf xi + cl h, yi + ∑ alm km kl = ∆yl
m =1
s
yi +=
1 yi + ∑ bl kl bl = wl
l =1
s
cm = ∑ amj m = 1,2...s
j =1
s c A
∑
l =1
bkl = w1∆y1 + w2 ∆y2 + ws ∆ys
T
b M. Reggio
1
Φ polynôme
f ,Φ Φ i =f i
f fonction
1
quadrature
b s
∫ ∑ f ( x ) L dx
b b
I= ∫
a
f ( x )dx ≈ ∫ φ ( x )dx =
a a
j =1
j j
Φ j =f j
s
( x − xi )
Lj = ∏ polynôme de Lagrange
i =1 ( x j − xi )
b
w j = ∫ L j dx
a
M. Reggio
1
s
f ( x )dx ≈ ∑ w j f ( x j )
b
=I ∫
a
j =1
a b
x
M. Reggio
1
a b
x
( x − b) ( x − a)
L1 = L2 =
(a − b ) (b − a )
M. Reggio
1
Φ polynôme
y, Φ Φ i =yi
y fonction
1
dΦ dΦ
Φ
= '
l= f ( x i + c l h, Φ(x i + c l h) ) = f ( x, Φ )
dx l dx
Φ
1
dy
= f ( x, y )
dx
dΦ
= f ( x, Φ )
dx
K m φ '( xi +xmcm h)
=
∫ ′ 𝑥𝑥
Φ '( x)Φ= = 𝐿𝐿𝑚𝑚 (𝑐𝑐)
1
Φ′ 𝑥𝑥 = 𝐿𝐿𝑚𝑚 (𝑐𝑐)
K m φ '( xi +xmcm h)
=
(c − cl )
=Lm (c) ∏ 1≤ l ≤ s
l ≠ m (cm − cl )
( )
s
∑ ∫0 Lm (c)dc K m
cl
φ ( xi +xlcl h) − φ ( xi ) =
m =1
yl yi alm
( )
s
∑ ∫0 Lm (c)dc K m
1
φ ( xi +1 ) − φ ( xi ) =
m =1
yi + 1 yi bl
M. Reggio
1
𝑐𝑐𝑙𝑙 1
𝑎𝑎𝑙𝑙𝑙𝑙 = � 𝐿𝐿𝑚𝑚 (𝑐𝑐)𝑑𝑑𝑐𝑐 𝑏𝑏𝑚𝑚 = � 𝐿𝐿𝑚𝑚 (𝑐𝑐)𝑑𝑑𝑐𝑐 l , m = 1,...
0 0
𝑘𝑘𝑙𝑙 = ∆𝑦𝑦𝑙𝑙 yl
➊ x +c hs
𝑙𝑙: points
kl hf xl , yi + ∑ alm km
i l
x=
l xi + c=
lh d’intégration
m =1
➋
Pondération
𝑠𝑠
interne
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + � 𝑏𝑏𝑙𝑙 𝑘𝑘𝑙𝑙
𝑙𝑙=1
s
∑
l =1
bkl = w1∆y1 + w2 ∆y2 + ws ∆ys
Pondération finale des ∆𝑦𝑦𝑙𝑙 M. Reggio
1
𝟏𝟏/𝟐𝟐 𝟏𝟏
𝑎𝑎21 = � 1𝑑𝑑𝑑𝑑 = 𝟏𝟏/𝟐𝟐 𝑏𝑏1 = � 1𝑑𝑑𝑑𝑑 = 𝟏𝟏
0 0
c1 a11
𝐿𝐿1 = 1
b1
𝑐𝑐𝑙𝑙 1
𝑎𝑎𝑙𝑙𝑙𝑙 = � 𝐿𝐿𝑚𝑚 (𝑐𝑐)𝑑𝑑𝑐𝑐 𝑏𝑏𝑚𝑚 = � 𝐿𝐿𝑚𝑚 (𝑐𝑐)𝑑𝑑𝑐𝑐
0 0
M. Reggio
1
𝟏𝟏 𝟏𝟏
𝑎𝑎21 = � 1𝑑𝑑𝑑𝑑 = 𝟏𝟏 𝑏𝑏1 = � 1𝑑𝑑𝑑𝑑 = 𝟏𝟏
0 0
𝐿𝐿1 = 1 c1 a11
b1
𝑐𝑐𝑙𝑙 1
𝑎𝑎𝑙𝑙𝑙𝑙 = � 𝐿𝐿𝑚𝑚 (𝑐𝑐)𝑑𝑑𝑐𝑐 𝑏𝑏𝑚𝑚 = � 𝐿𝐿𝑚𝑚 (𝑐𝑐)𝑑𝑑𝑐𝑐
0 0
M. Reggio
1
𝟏𝟏 𝟏𝟏
𝑎𝑎21 = � (1 − 𝑥𝑥)𝑑𝑑𝑑𝑑 = 1⁄2 𝑏𝑏1 = � (1 − 𝑥𝑥)𝑑𝑑𝑑𝑑 = 1⁄2
0 0
𝐿𝐿1
𝟏𝟏 𝟏𝟏
𝑎𝑎21 = � 𝑥𝑥𝑥𝑥𝑥𝑥 = 1⁄2 𝑏𝑏2 = � 𝑥𝑥𝑥𝑥𝑥𝑥 = 1⁄2
0 0
𝐿𝐿2
c1 a11 a12
c2 a21 a22
b1 b2
𝑐𝑐𝑙𝑙 1
𝑎𝑎𝑙𝑙𝑙𝑙 = � 𝐿𝐿𝑚𝑚 (𝑐𝑐)𝑑𝑑𝑐𝑐 𝑏𝑏𝑚𝑚 = � 𝐿𝐿𝑚𝑚 (𝑐𝑐)𝑑𝑑𝑐𝑐
0 0
M. Reggio
1
MÉTHODE
de
NEWTON
M. Reggio
1
h h
yi +1 − f ( yi + hf ( yi , ti ), ti +1 ) =
yi + f ( yi , ti )
2 2
≈ yi +1
h h
yi +1 − f ( yi +1 , ti +1 ) =yi + f ( yi , ti )
2 2
h h
Fi = yi +1 − yi − f ( yi , ti ) − f ( yik+1 , ti +1 )
k k k k
2 2
M. Reggio
1
∂f
1 − h δ
i y =
− F k
2∂y
i
𝑘𝑘+1
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖𝑘𝑘 + 𝛿𝛿𝑦𝑦𝑖𝑖
h h
Fi = y
k k
i +1 − y − f ( yi , ti ) − f ( yik+1 , ti +1 )
k
i
k
2 2
M. Reggio
1
yi 1 h
yi +1 =
yi + hf + f ( yi + hf ( yi , ti )), ti +
2 2 2
≈ yi +1
yi yi +1 h
yi +1 =
yi + hf + , ti +
2 2 2
M. Reggio
1
y y h
yi +1 =
yi + hf i + i +1 , ti +
2 2 2
yi +=
1 yi + δ yi
M. Reggio
1
Y1 =
yi + ha11 f ( xi + c1h, Y1 ) + ha12 f ( xi + c2 h, Y1 )
Y2 =
yi + ha21 f ( xi + c2 h, Y2 ) + ha22 f ( xi + c2 h, Y2 )
s
=kl hf xl , yi + ∑ alm km
m =1
s
yi +=
1 yi + ∑ bl kl Yl , l = 1, 2
l =1
M. Reggio
1
F1 = Y1 − yi − ha11 f ( xi + c1h, Y1 ) − ha12 f ( xi + c2 h, Y2 )
Y1 J δ Y k = − F (Y k ) F1
Y = F =
Y2 +1
Y k= Y k + δY k F2
M. Reggio
1
J11 J12 δ Y1 F1
J= = −
J 21 J 22 δ Y2 F2
1 − ha11 −ha12 δ Y1
➊
Boucle de F1
− ha = −
Newton 21 1 − ha22 δ Y2 F2
( k +1)
δ Y1
(k )
Y1 Y1
Y= Y + ➋
2 2 δ Y2
M. Reggio
1
M. Reggio
1
École Polytechnique de Montréal
L’idée derrière les mèthodes multi-pas est
l’utilisation de valeurs de y et/ou de f, soit
dy/dx, pour construir un polynôme Φ pour
approcher la fonction
M. Reggio
1
À pas unique
À pas multiple
Pente pondérée
1
M. Reggio
1
Série de Taylor
M. Reggio
1
ℎ2 ′
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ𝑓𝑓𝑖𝑖 + 𝑓𝑓𝑖𝑖 + 𝜃𝜃(ℎ3 )
2
M. Reggio
1
M. Reggio
1
M. Reggio
1
ℎ2 ′
𝑦𝑦𝑖𝑖+1 = 𝑦𝑦𝑖𝑖 + ℎ𝑓𝑓𝑖𝑖+1 − 𝑓𝑓𝑖𝑖+1 + 𝜃𝜃(ℎ3 )
2
M. Reggio
1
Formule générale
n
yi + h∑ β nk fi − k + O(h n + 2 )
yi +1 =
k =0
M. Reggio
1
Formule générale
n
yi + h∑ β nk fi +1− k + O(h )
yi +1 = n+2
k =0
M. Reggio
1
M. Reggio
1
Méthode à deux pas
3
yn +1 = yn + h f (t n , yn ) − f (t n −1 , yn −1 )
1
2 2
M. Reggio
1
À trois pas
yn +1 = yn + [23 f (t n , yn ) − 16 f (t n −1 , yn −1 ) + 5 f (t n − 2 , yn − 2 )]
h
12
À quatre pas
yn +1 = yn +
h
[55 f (tn , yn ) − 59 f (tn−1 , yn−1 ) + 37 f (tn−2 , yn−2 ) − 9 f (tn−3 , yn−3 )]
24
M. Reggio
1
h
2 pas : y =
i +1 yi + (3 f i − f i −1 )
2
3 pas : y = y + h (23 f − 16 f + 5 f )
i +1 i
12
i i −1 i −2
4 pas : y = h
i +1 y + (55 fi − 59 fi −1 + 37 fi − 2 − 9 fi −3 )
i
24
h
5 pas : yi +1 =yi + (1901 fi − 2774 fi −1 + 2616 fi − 2 − 1274 fi −3 + 251 fi − 4 )
720
M. Reggio
1
ordre b0 b1 b2 b3 b4 b5 err. de troncature
1 2
1 1 h f ′(η )
2
3 1 5 3
2 − h f ′′(η )
2 2 12
23 16 5 9 4
3 − h f ′′′(η )
12 12 12 24
55 59 37 9 251 5 ( 4 )
4 − − h f (η )
24 24 24 24 720
1901 2774 2616 1274 251 475 6 (5)
5 − − h f (η )
720 720 720 720 720 1440
4277 7923 9982 7298 2877 475 19087 7 ( 6 )
6 − − − f (η )
hM. Reggio
720 720 720 720 720 720 60480
1
M. Reggio
1
Adams-Moulton à 1 pas (Euler modifiée: Heun)
yn +1 = yn + [ f (t n +1 , yn +1 ) + f (t n , yn )]
h
2
Adams-Moulton à 2 pas
h
yn + 5 f ( t n +1 , yn +1 ) + 8 f ( t n , yn ) − f ( t n −1 , yn −1 )
yn +1 =
12
M. Reggio
1
h
1 pas : yi +1 =yi + ( f i +1 + f i )
2
2 pas : y = y +
h
(5 f i +1 + 8 f i − f i −1 )
i +1 i
12
3 pas : y = y + h (9 f + 19 f − 5 f + f )
i +1 i +1 i −1 i−2
i
24
i
h
4 pas : yi +1 =
yi + (251 f i +1 + 646 f i − 264 f i −1 + 106 f i − 2 − 19 f i − 3 )
720
M. Reggio
1
ordre b0 b1 b2 b3 b4 b5 err. de troncature
1 1 1 3
2 − h f ′′(η )
2 2 12
5 8 1 1
3 − − h 4 f ′′′(η )
12 12 12 24
9 19 5 1 19 5 ( 4 )
4 − − h f (η )
24 24 24 24 720
251 646 264 106 19 27 6 (5)
5 − − − h f (η )
720 720 720 720 720 1440
475 1427 798 482 173 27 863 7 ( 6 )
6 − − − h f (η )
1440 1440 1440 1440 1440 1440 60480
M. Reggio
1
Adams-Bashforth Adams-Mouton
Ouvertes Fermés
M. Reggio
xi-2 xi-1 xi xi+1 xi-2 xi-1 xi xi+1
1
prédicteur : yi +1 =+
*
yi h(b1 f + b2 fi −1 + ...)
correcteur : yi +1 =yi + h (b f *
0 i +1 + b f
1 i + ...); f *
i +1 =f ( xi +1 , y *
i +1 )
Prédicteur-correcteur d’ordre 3
h
y i∗+ 1 = y i + ( 23 f i − 16 f i − 1 + 5 f i − 2 )
12
= yi +
h
[23 f ( x i , y i ) − 16 f ( x i −1 , y i −1 ) + 5 f ( x i − 2 , y i − 2 )]
12
h
y i +1 = yi + ( 5 f i∗+ 1 + 8 f i − f i − 1 )
12
= yi +
h
12
[ ]
5 f ( x i + 1 , y i∗+ 1 ) + 8 f ( x i , y i ) − f ( x i − 1 , y i − 1 )
M. Reggio
1
Prédicteur-correcteur d’ordre 4
h
y i∗+ 1 = y i + ( 55 f i − 59 f i − 1 + 37 f i − 2 − 9 f i − 3 )
24
= yi +
h
[55 f ( x i , y i ) − 59 f ( x i −1 , y i −1 ) + 37 f ( x i − 2 , y i − 2 ) − 9 f ( x i − 3 , y i − 3 )]
24
h
yi +1 = yi + ( 9 f i∗+ 1 + 19 f i − 5 f i − 1 + f i − 2 )
24
= yi +
h
24
[ ]
9 f ( x i + 1 , y i∗+ 1 ) + 19 f ( x i , y i ) − 5 f ( x i − 1 , y i − 1 ) + f ( x i − 2 , y i − 2 )
1
Soient les valeurs initiales: y(1) = 7.788007831, y(0) = 10.0,
dy
= −0.5 xy
dx
M. Reggio
1
Adams-Bashforth-Moulton dy
= −0.5 xy
dx
y( 1 ) = 7.78007831 ⇒ f ( 1 ) = −0.5 ( 1 ) y( 1 ) = −3.894003916
y( 0 ) = 10.0 ⇒ f ( 0 ) = −0.5 ( 0 ) y( 0 ) = 0
y( −1 ) = 7.788007831 ⇒ f ( −1 ) = −0.5 ( −1 ) y( −1 ) = 3.894003916
y( −2 ) = 3.678794412 ⇒ f ( −2 ) = −0.5 ( −2 ) y( −2 ) = 3.678784412
Predicteur ( h = 1)
h
[55 f (1) − 59 f (0) + 37 f (−1) − 9 f (−2)]
y ∗ (2)= y (1) +
24
1
= 7.788007831 + [55 (−3.894003916) − 59(0)
24
+ 37(3.894003916) − 9(3.678794412) ] = 3.48795699
f ∗ (2) =
−0.5(2) y ∗ (2) =
−3.48795699 M. Reggio
1
h
y (2) = y (1) + 9 f ∗ (2) + 19 f (1) − 5 f (0) + f (−1)
24
1
= 7.788007831 + [9(− 0.5)(2) y ∗ (2)
24
+19(−3.894003916) − 5(0) + 3.894003916]
= 4.867504894 − 0.375 y ∗ (2)
Itérations du
correcteur
y 1 ( 2 ) = 4.867504894 − 0.375 y ∗ ( 2 ) = 3.559521023 , ε = 2.01%
2
y ( 2 ) = 4 . 867504894 − 0 . 375 y 1
( 2 ) = 3.532684510 , ε = 0.76%
3
y ( 2 ) = 4 . 867504894 − 0 . 375 y 2
( 2 ) = 3.542748203 , ε = 0.28%
y 4 ( 2 ) = 4.867504894 − 0.375 y 3 ( 2 ) = 3.538974318 , ε = 0.11%
y 5 ( 2 ) = 4.867504894 − 0.375 y 4 ( 2 ) = 3.540389525 , ε =M.0Reggio
.04%
1
Les méthodes à multi-pas découlent de l’intégration de:
ti +1
= f ( y ,t ) ∫ f ( y ,t )dt
dy
yi + 1 = yi +
dt ti
t n+1 tni +1
+1
y (t n +1 ) = y (t n ) + ∫ (t )dt = y(tn ) +
y ′
∫ Pf (dtt , y(t ))dt
i
tn ttn
i
IM. Reggio
1
L'intégrale Ι est calculée en remplaçant f par une
interpolation polynomiale d'ordre r (avec les points tn
à tn-r) r
f (t , y (t )) ≈ ∑ Lk ( t ) f (t n − k , y (t n − k ))
k =0
r
I = h∑ bk f (t n − k , y (t n − k ))
k =0
( w = ∫ L dx )
1
t n+1
b =
∫t
b
L ( t )dt
j j k
h
k
a
n
M. Reggio
1
L'intégrale Ι et calculée en remplaçant f par une
interpolation polynomiale d'ordre r+1 (avec les
points tn+1 à tn-r)
r
I = h ∑ bk f (t n − k , y (t n − k ))
k = −1
yn +=
1 yn + I
1
k: indice du polynôme, i indice du dernier point d’un total
de r+1 points M. Reggio
1
bi ,k = wi − k M. Reggio
1
𝑥𝑥 = 𝒙𝒙𝟎𝟎 , 𝑥𝑥 = 𝒙𝒙𝟏𝟏
𝑦𝑦 = 𝒚𝒚𝟎𝟎 , 𝑦𝑦 = 𝒚𝒚𝟏𝟏
( 𝑥𝑥 − 𝑥𝑥1 ) ( 𝑥𝑥 − 𝑥𝑥0 )
𝐿𝐿0 (𝑥𝑥) = 𝐿𝐿1 (𝑥𝑥) =
( 𝒙𝒙𝟎𝟎 − 𝑥𝑥1 ) ( 𝒙𝒙𝟏𝟏 − 𝑥𝑥0 )
M. Reggio
1
𝑥𝑥1 = 2, 𝑥𝑥2 = 4, 𝑥𝑥3 = 5, 𝑥𝑥 − 4 𝑥𝑥 − 5
𝐿𝐿1 𝑥𝑥 =
𝟐𝟐 − 4 𝟐𝟐 − 5
𝑦𝑦1 = 3, 𝑦𝑦2 = 2, 𝑦𝑦3 = 4,
(𝑥𝑥 − 2)(𝑥𝑥 − 5)
𝐿𝐿2 (𝑥𝑥) =
(𝟒𝟒 − 2)(𝟒𝟒 − 5)
(𝑥𝑥 − 2)(𝑥𝑥 − 4)
𝐿𝐿3 (𝑥𝑥) =
(𝟓𝟓 − 2)(𝟓𝟓 − 4)
1
( 𝑥𝑥 − 𝑥𝑥1 ) ( 𝑥𝑥 − 𝑥𝑥0 )
𝐿𝐿0 (𝑥𝑥) = 𝒙𝒙𝟎𝟎 = −𝒉𝒉 𝒙𝒙𝟏𝟏 = 𝟎𝟎 𝐿𝐿1 (𝑥𝑥) =
( 𝒙𝒙𝟎𝟎 − 𝑥𝑥1 ) ( 𝒙𝒙𝟏𝟏 − 𝑥𝑥0 )
1 𝑥𝑥 𝒊𝒊 − 𝟏𝟏 𝒊𝒊
(1) (𝑥𝑥 + ℎ)
𝐿𝐿𝑖𝑖,0 𝑥𝑥 = − 𝐿𝐿𝑖𝑖,1 (𝑥𝑥) =
ℎ −𝒉𝒉 𝟎𝟎
ℎ
𝒊𝒊 𝒊𝒊 + 𝟏𝟏
𝟎𝟎 𝒉𝒉
𝒉𝒉
𝒚𝒚𝐢𝐢+𝟏𝟏 = 𝒚𝒚𝒊𝒊 + 𝟑𝟑𝒇𝒇𝒊𝒊 − 𝒇𝒇𝒊𝒊−𝟏𝟏
𝟐𝟐 M. Reggio
1
𝒊𝒊 𝒊𝒊 + 𝟏𝟏
−𝒉𝒉 𝟎𝟎
𝒉𝒉
𝒚𝒚𝐢𝐢+𝟏𝟏 = 𝒚𝒚𝒊𝒊 + 𝒇𝒇𝒊𝒊 + 𝒇𝒇𝒊𝒊+𝟏𝟏
𝟐𝟐
M. Reggio
1
M. Reggio
1
r xi+1
yi + 1 = yi + h∑ ∫ Lk ( x )dx f k
k =1 xi
M. Reggio
1
M. Reggio
1
On peut les représenter par
y ( n ) = f ( x , y , y ′ , y ′′ , , y ( n − 1 ) )
y( 0 ) = α 0 , y ′( 0 ) = α 1 , , y ( n− 1 ) = α n− 1
1
Exemple y ′′′ = f ( x , y , y ′ , y ′′ ) = x 2 + 4 xy − 3 y ′ + 5 y ′′
y( 0 ) = 2 , y ′( 0 ) = 4 , y ′′( 0 ) = 1
avec u1 = y, u 2 = y′, u 3 = y′′
On trouve trois EDOs aux valeurs initiales
u1′ = f1 ( x, u1 , u2 , u3 ) = u2 u1 (0) = 2
u2′ = f 2 ( x, u1 , u2 , u3 ) = u3 u2 (0) = 4
′ u (0) = 1
3
u = f 4 ( x , u1 , u 2 , u 3 ) = x 2
+ 4 xu1 − 3u2 + 5u3
3
En Notation Vectorielle ⇒ u ′ = f (x, u) M. Reggio
1
Premier pas: x(0) = 0, x(1) = 0.5, h = 0.5
1
u1 (2) = u1 (1) + hu2 (1) = 4.0 + (0.5)(4.5) = 6.25
u (2) =u (1) + hu (1) =4.5 + (0.5)(−5 / 2) =3.25
2 2 3
u
3 ( 2 ) = u 3 (1 ) + h[ x 2
(1) + 4x(1)u1 (1) − 3u2 (1) + 5u3 (1)]
= + 2
+ 4 (0.5)(4.0 ) − 3(4.5) + 5(−5 / 2)] =
2 .5 0 .5 [( 0. 5 )
u1′ f=1 ( x, u1 , u2 , u3 ) u2 u1 (1) = 4
u2′ f= 2 ( x, u1 , u2 , u3 ) u3 = u2 (1) 4.5
′ u (1) = −2.5
u3 = f 4 ( x, u1 , u2 , u3 ) =x + 4xu1 − 3u2 + 5u3 3
2
En Notation Vectorielle ⇒ u ′ =
f (x, u) M. Reggio
1
Méthode du point milieu k 1 = hf ( x i , y i )
k 2 = hf (x i + h/2, y i + k 1 /2)
y = y + k
i +1 i 2
k 1 = hf ( x i , ui , v i )
Deux EDOs
m 1 = hg ( x i , ui , v i )
(u,v) k 2 = hf (x i + h/2, ui + k 1 /2, v i + m 1 /2)
m 2 = hg (x i + h/2, ui + k 1 /2, v i + m 1 /2)
ui + 1 = ui + k 2
v i + 1 = v i + m 2 M. Reggio
1
Runge-Kutta d’ordre deux pour 3 variables
k 1 = hf 1 ( x ( i ), u1 ( i ), u2 ( i ), u3 ( i ))
k 2 = hf 2 ( x ( i ), u1 ( i ), u2 ( i ), u3 ( i ))
k = hf ( x ( i ), u ( i ), u ( i ), u ( i ))
3 3 1 2 3
u1 ( i + 1 ) = u1 ( i ) + m 1
u 2 ( i + 1 ) = u 2 ( i ) + m 2 M. Reggio
u ( i + 1 ) = u ( i ) + m
3 3 3
1
Constantes des ressorts (s1, s2)
s1
x1 = 0 m1 m1
x1 =
− s1 x1 + s2 ( x2 − x1 )
s2
x2 = 0 m2 m2
x2 =
− s2 ( x2 − x1 )
M. Reggio
1
On transforme en un système de 4 EDOs de 1er ordre
1
Exemple Adams-Bashforth
Solution Exacte
dy
= y−x 2
y = 2 + 2x + x − e
2 x
dx
y (0 ) = 1
∆h = 0.1
M. Reggio
1
Adams-Bashforth (4points)
À partir de R-K-4
f (0,1) = 1.0000
f (0.1,1.104829) = 1.094829
f (0.2,1.218597 ) = 1.178597
f (0.3,1.340141) = 1.250141
La formule d’Adams- Bashforth est:
∆y =
0.1
[55 f 0.3 − 59 f 0.2 + 37 f 0.1 − 9 f 0 ]
24 M. Reggio
1
Adams-Bashforth (4points)
Alors:
1
Adams- Bashforth
M. Reggio
1
Schémas multi-pas
Comment alléger le côté implicite d’ Adams-
Moulton ?
On remplace yn+1 par une valeur estimée par
Adams-Bashforth :
yn +1 = z n +
h
[55 f (tn , yn ) − 59 f (tn−1 , yn−1 ) + 37 f (tn−2 , yn−2 ) − 9 f (tn−3 , yn−3 )]
24
yn +1 = yn + [9 f (t n +1 , yn +1 ) + 19 f (t n , yn ) − 5 f (t n −1 , yn −1 ) + f (t n − 2 , yn − 2 )]
h
24
M. Reggio
1
Prediction-Correction
Adams- Bashforth à trois points pour un premier pas
∆h
y *i +1 = yi + [23 f i − 16 f i−1 + 5 f i−2 ]
12
Adams-Moulton à trois points pour un deuxième pas
yi +1 = yi +
∆h
12
[
5 f i *+1 + 8 f i − f i −1 ]
M. Reggio
1
Exemple: Adams-Bashforth
Solution Exacte
dy
= y−x 2 y = 2 + 2x + x − e 2 x
dx
CI: y (0 ) = 1
1
Adams-Basforth-Moulton (3points)
À partir de Runge-Kutta-4
f (0,1) = 1.0000
f (0.1,1.104829 ) = 1.094829
f (0.2,1.218597 ) = 1.178597
∆y =
0.1
[23 f 0.2 − 16 f 0.1 + 5 f 0.0 ]
12 M. Reggio
1
Adams-Basforth-Moulton (3points)
Étape de prédicition:
∆y =
0.1
[23(1.178597 ) − 16(1.094829) + 5(1)]
12
= 0.121587
M. Reggio
1
Adams-Basforth-Moulton (3points)
Étape de correction:
∆y =
0.1
[5(1.250184) + 8(1.178597 ) − 1(1.094829)]
12
= 0.121541
M. Reggio
1
Adams-Basforth-Moulton (3points)
1
Adams-Bashforth
Resistance
proportionelle
R ∝ u2 à la vitesse2
Trajectories
R ∝ (u 2 + v 2 )
M. Reggio
1
Fin…………………………..
M. Reggio
1
c = 0, on
x = x(t) ignore la
y = y(t) résistance
c>0
d 2x dx
Sans tenir compte de
2 = −c , x(0) = 0 pi , x′(0) = 100 pi/s
la résistance de l’air dt dt
2
d y = −g , y(0) = 3 pi , y′(0) = 45 pi/s
d t 2 M. Reggio
1
Système de 4 EDOs d’ordre 1. La résistance de l’air est
proportionnelle à la vitesse en x.
soit z1 = x, z 2 = x′, z 3 = y, z 4 = y′
z1′ = z 2 z1 (0) = 0
z ′ = −cz z (0) = 100
2 2 2
z3′ = z 4 z3 (0) = 3
z 4′ = − g z 4 (0) = 45
M. Reggio
1
Système de 4 EDOs d’ordre 1. La résistance de l’air est
proportionnelle à la vitesse vitesse au carré
soit z1 = x, z 2 = x′, z 3 = y, z 4 = y′
z1′ = z 2 z1 (0) = 0
z (0) = 150
′
z 2 = −c ( z 2 + z 4 )
2 2
2
z3′ = z 4 z3 (0) = 3
z ′ = − g − c( z 2 + z 2 ) sign( z ) z 4 (0) = 50
4 2 4 4
M. Reggio
1
𝑥𝑥1 = −ℎ
𝑥𝑥0 = 0
( 𝑥𝑥 − 𝑥𝑥1 )
𝐿𝐿0 (𝑥𝑥) = ( 𝑥𝑥 − 𝑥𝑥0 )
( 𝒙𝒙𝟎𝟎 − 𝑥𝑥1 ) 𝐿𝐿1 (𝑥𝑥) =
( 𝒙𝒙𝟏𝟏 − 𝑥𝑥0 )
1
∫=
1
=
a22 xdx 1 / 2
0
a21 =∫ (1 − x ) dx =1 / 2M. Reggio
0
1
yi +1 = a1 yi + a2 yi −1 + h(b0 f i +1 + b1 f i + b2 f i −1 )
f i +1 = f ( xi +1 , yi +1 ); f i = f ( xi , yi ); f i −1 = f ( xi −1 , yi −1 )
b0 ≠ 0
b0 = 0
M. Reggio
1
Pendule
Poids W = mg
θ Amortissement F = −cθ ′
R
R∝ u
Trajectoires
R ∝ u2 + v 2
M. Reggio
1
Euler
n = 100
n = 200
n = 500
n = 1000
M. Reggio
1
Runge-Kutta d’ordre 2
Pendule
n = 25
n = 50
n = 100
n = 200
M. Reggio
1
Runge-Kutta d’ordre 4
Pendule Nonlinéaire
n = 25
n = 50
n = 100
M. Reggio
1
Comparaison
Pendule Nonlinéaire
u u
v Euler
RK2
v
RK4
M. Reggio
1
Fin…………………………..
M. Reggio
1
M. Reggio
1
u1 ( i + 1 ) = u1 ( i ) + hf 1 ( x ( i ), u1 ( i ), u 2 ( i ), u 3 ( i ))
u 2 ( i + 1 ) = u 2 ( i ) + hf 2 ( x ( i ), u1 ( i ), u 2 ( i ), u 3 ( i ))
u ( i + 1 ) = u ( i ) + hf ( x ( i ), u ( i ), u ( i ), u ( i ))
3 3 3 1 2 3
M. Reggio
1
Systèmes d’EDOs
Adams-Bashforth à 2 pas
Méthode scalaire
y i +1 = y i +
h
[3 f ( x i , y i ) − f ( x i −1 , y i −1 )]
2
Système d’EDOs
u
1 ( i + 1 ) = u 1 ( i ) +
h
[3 f 1 ( x( i ), u1 ( i ), u2 ( i ), u3 ( i )) − f 1 ( x( i − 1 ), u1 ( i − 1 ), u2 ( i − 1 ), u3 ( i − 1 ))]
2
u2 ( i + 1 ) = u2 ( i ) + [3 f 2 ( x( i ), u1 ( i ), u2 ( i ), u3 ( i )) − f 2 ( x( i − 1 ), u1 ( i − 1 ), u2 ( i − 1 ), u3 ( i − 1 ))]
h
2
u (
Adams
3 i + 1 ) = u 3 ( i ) +
h
[3 f 3 ( x( i ), u1 ( i ), u2 ( i ), u3 ( i )) − f 3 ( x( i − 1 ), u1 ( i − 1 ), u2 ( i − 1 ), u3 ( i − 1 ))]
predictor-corrector
2 method can also be extended
M. Reggio
1
Adams-Bashforth-Moulton
Resoudre y′′ = 5y′ − 6y, y(0) = 2, y′(0)=5, [0 1] avec h = 0.25. Utiliser
la méthode du point mileu pour démarrer.
On transforme en deux EDOs
u = y u′ = v u( 0 ) = 2
⇒
v = y ′ ′
v = 5 v − 6 u v( 0 ) = 5
Premier pas : t = 0.25 (Méthode du point milieu)
k 1 = hf (0 , u(0 ), v (0 )) = hf (0 ,2 ,5 ) = 0.25 v (0 ) = (0.25 )(5 ) = 1.25
k 2 = hg (0 ,2 ,5 ) = (0.25 )[5 v (0 ) − 6 u(0 )] = (0.25 )[5 (5 ) − 6 ( 2 )] = 3.25
Midpoint : x = 0.125 , u(0 ) + k 1 / 2 = 2.625 , v (0 ) + k 2 / 2 = 6.625
m 1 = hf (0.125 , 2.625 , 6.625 ) = (0.25 )(6.625 ) = 1.65625
m 2 = hg (0.125 , 2.625 , 6.625 ) = (0.25 )[5 (6.625 ) − 6 ( 2.625 )] = 4.34375
u(0.25 ) = u(0 ) + m 1 = 3.65625 M. Reggio
v (0.25 ) = v (0 ) + m 2 = 9.34375
1
Adams-Bashforth-Moulton
Deuxième pas : t = 0.5 (Méthode du point milieu)
[
v( 0.75) = v(0.5) + h 5 g * (0.75) + 8 g (0.5) − g (0.25)
12
]
1
Adams-Bashforth-Moulton
f (0 ) = v (0 ) = 5 g (0 ) = 5 v (0 ) − 6 u(0 ) = 13
f (0.25 ) = v (0.25 ) = 9.34375 g(0.25 ) = 5 v (0.25 ) − 6 u(0.25 ) = 24.78125
f (0.5 ) = v (0.5 ) = 17.65917969 g (0.5 ) = 5 v (0.5 ) − 6 u(0.5 ) = 47.69628907
*
u ( 0 .
75 ) = 6. 766601563 +
0.25
[23(17.65917969 ) − 16 (9.34375 ) + 5(5 )] = 12.63454183
12
v * ( 0 .75 ) = 17.65917969 + 0.25 [23( 47.69628907 ) − 16 ( 24.78125 ) + 5( 13)] = 33.60740154
12
f * (0.75 ) = v * (0.75 ) = 33.60740154
*
f (0.75 ) = 5 v (0.75 ) − 6 u (0.75 ) = 5( 33.60740154 ) − 6 ( 12.63454183) = 92.2297567
* *
u( 0 .
75 ) = 6 . 766601563 +
0.25
[5( 33.60740154 ) + 8(17.65917969) − (9.34375 )] = 13.01590771
12
v( 0 .75 ) = 17.65917969 + h [5( 92.2297567 ) + 8( 47.69628907 ) − ( 24.78125 )] = 34.69955148
M. Reggio
12
1
Adams-Bashforth-Moulton
Quatrième étape : t = 1.0 (ABM3)
u( 1 ) = 13 .01590771 +
0.25
[5(67.09577609 ) + 8( 34.69955148 ) − (17.65917969 )] = 25.42041006
12
v( 1) = 34.69955148 + 0.25 [5 (187.1007293 ) + 8(95.40231115 ) − ( 47.69628907 )] = 69.09592328
12 M. Reggio
1
EDOs raides(stiff)
Exemple u1′ = 2 u 2 u1 = ae 2 x + be −2 x Solution
⇒
2
u ′ = 2 u 1
2
u = ae 2x
− be − 2 x Générale
Solution exacte
u1 = 3e −2 x
a = 0, b = 3 u 2 = −3e − 2 x
u1 = ε e 2 x + 3e −2 x
Erreur numérique
a=ε Croissance
exponetielle;
u 2 = ε e − 3e
2x −2 x
instable M. Reggio
1
FIN
M. Reggio
1
Collocation
M. Reggio
1
RK4 Adaptatif
• Un pas avec h
y ( x + h ) = y 1 + α h 5 + O( h 6 )
• Deux pas avec h/2
5
h
y ( x + h ) = y 2 + 2α + O(h 6 )
2
• Alors,
5Deux pas
5 h 15 5 16
y2 − y=
1 α h − 2 = α h ⇒ α
= 5
( y2 − y1 )
32 16 15h
y −y ∆
5
h
y2 + 2α =
y= y2 + 2 1 =
y2 +
2 15 15 M. Reggio
1
Interprétation
dy
= −ax
dt
y (tn +1 ) = e − a∆t
y (tn ) = (1 − a∆t + 1
2 ( a∆t )
2
)
+ y (tn )
1 1
e − a∆t
≈ yn yn +1 = yn
1 + a∆t 1 + a∆t
yn +1 = yn − a∆t λ yn +1
M. Reggio
1
Interprétation
(1 − Re(h k )) 2 + (Im(hk )) 2 ≤ 1
Im
Re
-2 x -1 0
M. Reggio
1
dy
= f ( x, y )
dx
dΦ
= f ( x, Φ )
dx
m=l
K m φ '( xi +xmcm h)
=