You are on page 1of 130

École Polytechnique de Montréal

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:

La méthode d’Euler engendre des spirales M. Reggio

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

OK  0 < ah < 1 solution stable



Oscille 1 ≤ ah ≤ 2 solution bornée, mais..
 2 < ah
Explose  solution instable

M. Reggio

1
 Stabilité: la solution est bornée, mais est-
elle semblable à la solution réelle?

 Précision: quel ∆t (h) utiliser pour obtenir


une erreur en dessous d’un certain seuil?

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

Stable, pas de limite pour h, mais on a la


même précision que celle de la méthode
explicite

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

On doit résoudre un système à chaque itération


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
 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

xi xi+c2h xi+1 = xi+h


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
Φ polynôme

f ,Φ Φ i =f i

f fonction

xi-2 xi-1 xi xi+1


a b M. Reggio

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

xi-2 xi-1 xi xi+1


a b M. Reggio

1
dΦ dΦ
Φ
= '
l= f ( x i + c l h, Φ(x i + c l h) ) = f ( x, Φ )
dx l dx
Φ

xi xi+clh xi+1 = xi+h


M. Reggio

1
dy
= f ( x, y )
dx

= f ( x, Φ )
dx

φ ( xi +φ1 = ) yi +y1i, φ (φx(ix=


)( xi = ) yi y, i +1 , xi(+x=
)i +1 = 1i +=
1
xixi++hh)

K m = φ '( xi +xmcm h) = f ( xi +xcm h, φ ( xi +x cm h)), m = 1, 2..


m m

K m φ '( xi +xmcm h)
=

∫ ′ 𝑥𝑥
Φ '( x)Φ= = 𝐿𝐿𝑚𝑚 (𝑐𝑐)

Quadrature de Lagrange pour Φ’


M. Reggio

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 )

F2 = Y2 − yi − ha21 f ( xi + c1h, Y1 ) − ha22 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

xi-2 xi-1 xi xi+1 M. Reggio

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 

Pour démarrer, y1 doit être calculée par une autre


méthode, avec celle de Runge-Kutta, par exemple

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 )

Erreur Locale O(h5)


Erreur Globale O(h4) ∆y i + 1 = y i + 1 − y *
i +1 ≤ tol
M. Reggio

1
Soient les valeurs initiales: y(1) = 7.788007831, y(0) = 10.0,

y(-1) = 7.788007831, et y(-2) = 3.678794412. Résoudre entre

x = 1 et x= 2 avec un pas de 1.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

Méthode implicite : yn+1 dépend de f(tn+1,yn+1)


M. Reggio

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 )

𝑃𝑃 𝑥𝑥 = 𝒚𝒚𝟎𝟎 𝐿𝐿0 𝑥𝑥 + 𝒚𝒚𝟏𝟏 𝐿𝐿1 𝑥𝑥

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)

𝑃𝑃 𝑥𝑥 = 3𝐿𝐿1 𝑥𝑥 + 2𝐿𝐿2 𝑥𝑥 + 4𝐿𝐿3 𝑥𝑥


M. Reggio

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

u1 = y u1′ = u2 , u1 (0) = α 0


 
u2 = y ′ u ′ = u3 , u 2 (0) = α1
  2

soit u3 = y′′ ⇒ u3′ = u4 , u 3 (0) = α 2


   
 
un = y ( n −1) un′ = f(x, u1 , u 2 , , u n ), u n (0) = α n −1
M. Reggio

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

u1 (1) =u1 (0 ) + hu2 (0 ) = 2 + (0.5)(4 ) = 4.0


u (1) = u2 (0 ) + hu3 (0 ) = 4 + (0.5)(1) =
𝒖𝒖𝟏𝟏 (𝟎𝟎) = 𝟐𝟐
 2 4.5 �𝒖𝒖𝟐𝟐 (𝟎𝟎) = 𝟒𝟒

u
 3 (1) =u 3 (0 ) + h [ x 2
(0 ) + 4x(0 )u1 (0 ) − 3u2 (0 ) + 5u3 (0 )] 𝒖𝒖𝟑𝟑 (𝟎𝟎) = 𝟏𝟏
 = + 2
+ 4 (0 )(2) − 3(4 ) + 5(1)] = −5 / 2
 1 0. 5[( 0 )
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
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

m 1 = hf 1 ( x(i) + h/2, u1 (i) + k 1 /2, u2 (i) + k 2 /2, u3 (i) + k 3 /2 )



m 2 = hf 2 ( x(i) + h/2, u1 (i) + k 1 /2, u 2 (i) + k 2 /2, u 3 (i) + k 3 /2 )
m = hf ( x(i) + h/2, u (i) + k /2, u (i) + k /2, u (i) + k /2 )
 3 3 1 1 2 2 3 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

soit u1 = x1 , u 2 = x1′, u 3 = x2 , u4 = x2′


s1 u1′ = u2
 u1 (0) = α1
u2′ = − s1 u1 + s2 (u3 − u1 ) u (0) = α
m1  m1 m1  2 2
 
s2 u3′ = u4 u3 (0) = α 3
 s2 u4 (0) = α 4
u4′ = − (u3 − u1 )
 m2
m2 m2  − s2 ( x2 − x1 ) m1 
x2 = x1 =
− s1 x1 + s2 ( x2 − x1 )
M. Reggio

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:

0.1 55(1.250141) − 59(1.178597 )


∆y =
24  + 37(1.094829 ) − 9(1) 

= 0.128038
Mise à jour
y (0.4 ) = 1.340141 + 0.128038 = 1.468179
f (0.4,1.468179 ) = 1.308179
M. Reggio

1
Adams- Bashforth

x Adam Bashforth f(x,y) somme Runge-Kuttad'ordre 4 Exacte


0 1 1 1 1
0.1 1.104828958 1.094829 1.104828958 1.104829
0.2 1.218596991 1.178597 1.218596991 1.218597
0.3 1.34014081 1.250141 30.72919 1.34014081 1.340141
0.4 1.468179116 1.308179 31.94617 1.468174786 1.468175
0.5 1.601288165 1.351288 32.78612 1.601278076 1.601279
0.6 1.737896991 1.377897 33.20969 1.737880409 1.737881
0.7 1.876270711 1.386271 33.17302 1.876246365 1.876247
0.8 2.014491614 1.374492 32.62766 2.014458009 2.014459
0.9 2.150440205 1.34044 31.52015 2.150395695 2.150397
1 2.281774162 1.281774 29.79136 2.281716852 2.281718

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

Le pas: ∆h = 0.1 M. Reggio

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

La formule d’ Adams-Bashforth est:

∆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

y * (0.3) = 1.218597 + 0.121587 = 1.340184


f * (0.3,1.340184 ) = 1.250184

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

y (0.3) = 1.218597 + 0.121541 = 1.340138


f (0.3,1.340184 ) = 1.250138

M. Reggio

1
Adams-Basforth-Moulton (3points)

Adams-Moulton Predicteur-Correcteur à Trois Points


x y f somme y* f* somme
0 1 1
0.1 1.104829 1.094829
0.2 1.218597 1.178597 0.121587 1.340184 1.250184 0.121541
0.3 1.340138 1.250138 0.128081 1.468219 1.308219 0.12803
0.4 1.468168 1.308168 0.133155 1.601323 1.351323 0.133098
0.5 1.601266 1.351266 0.136659 1.737925 1.377925 0.136597
0.6 1.737863 1.377863 0.138429 1.876291 1.386291 0.138359
0.7 1.876222 1.386222 0.13828 2.014502 1.374502 0.138204
0.8 2.014425 1.374425 0.136013 2.150438 1.340438 0.135928
0.9 2.150353 1.340353 0.131404 2.281757 1.281757 0.13131
M. Reggio
1 2.281663 1.281663 0.124206 2.405869 1.195869 0.124102

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

mRθ ′′ = −(mg sin θ + cθ ′)


m θ ′′
c g
θ ′′ + θ ′ + sin θ = 0
mR R
F = cθ ′
M. Reggio
W=mg
1
Adams-Bashforth
Resistance
proportionelle
à la vitesse

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)

k 1 = hf (0.25 , u(0.25 ), v (0.25 )) = hf (0.25 , 3.65625 , 9.34375 ) = (0.25 )(9.34375 ) = 2.3359375



k 2 = hg (0.25 , 3.65625 , 9.34375 ) = (0.25 )[5 (9.34375 ) − 6 ( 3.65625 )] = 6.1953125
Midpoint : x = 0.375 , u(0.25 ) + k 1 / 2 = 4.82421875 , v (0.25 ) + k 2 / 2 = 12.44140625
m 1 = hf (0.375 , 4.82421875 , 12.44140625 ) = (0.25 )(12.44140625 ) = 3.110351563

m 2 = hg (0.375 , 4.82421875 , 12.44140625 ) = (0.25 )[5 (12.44140625 ) − 6 ( 4.82421875 )] = 8.315429688
u(0.25 ) = u(0.25 ) + m 1 = 3.65625 + 3.110351563 = 6.766601563

v (0.25 ) = v (0.25 ) + m 2 = 9.34375 + 8.315429688 = 17.65917969
Troisième étape : t = 0.75 (on démarre ABM3)
 *
 u ( 0 .75) = u ( 0 . 5) +
h
[23 f (0.5) − 16 f (0.25) + 5 f (0)]
12
Predicteur 
v*( 0.75) = v(0.5) + h [23g (0.5) − 16 g (0.25) + 5 g (0)]
 12

 u( 0 .75 ) = u ( 0 . 5 ) + [h
12
5 f *
(0.75) + 8 f (0.5) − f (0.25) ]
Correcteur  M. Reggio

[
v( 0.75) = v(0.5) + h 5 g * (0.75) + 8 g (0.5) − g (0.25)
 12
]
1
Adams-Bashforth-Moulton

Troisième étape : t = 0.75 (ABM3)

 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)

 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.6591796  g (0.5 ) = 5 v (0.5 ) − 6 u(0.5 ) = 47.69628907
 f (0.75 ) = v (0.75 ) = 34.69955148  g (0.75 ) = 5 v (0.75 ) − 6 u(0.75 ) = 95.40231115
 
 *
 u ( 1 ) = 13 .01590771 +
0.25
[23( 34.69955148 ) − 16 (17.65917969 ) + 5(9.34375 )] = 24.72969186
12

v * ( 1) = 34.69955148 + 0.25 [23(95.40231115 ) − 16 ( 47.69628907 ) + 5 ( 24.78125 )] = 67.09577609
 12
 f * (1) = v * (1) = 67.09577609
 *
 f (1) = 5 v (1) − 6 u (0.75 ) = 5 (67.09577609 ) − 6 ( 24.72969186 ) = 187.1007293
* *


 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

Conditions initiales u1(0) = 3, u2(0) = -3

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

Seulement les solutions à l’intérieur du circle s’amortissent.

M. Reggio

1
dy
= f ( x, y )
dx

= f ( x, Φ )
dx

φ ( xi +φ1 = ) yi +y1i, φ (φx(ix=


)( xi = ) yi y, i +1 , xi(+x=
)i +1 = 1i +=
1
xixi++hh)

K l = φ '( xi +xmcm h) = f ( xi + cxm h, φ ( xix + cm h)), m = 1, 2..


m m

m=l
K m φ '( xi +xmcm h)
=

∫ Quadrature de Lagrange pour Φ’


M. Reggio

You might also like