La méthode d'Eulerlgcorneille-lyc.spip.ac-rouen.fr/IMG/pdf/euler_b.pdf · Équation non...

Preview:

Citation preview

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

La méthode d'Euler

Deuxième partie

Lycée Pierre Corneille � MP

2016-2017

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Discrétisations du temps avec pas constant dt

On choisit l'instant initial a = 0 et l'instant �nal b.

dt =b − a

N

T = np.arange(a, b, dt)

T = (a, a + dt, . . . , a + (N − 1) dt < b)

T = np.linspace(a, b, N+1)

T = (a, a + dt, . . . , a + (N − 1) dt, a + N dt = b)

Attention ! Avec np.linspace(a, b, N),

T = (a, a + dτ, . . . , a + (N − 1) dτ = b) et dτ =b − a

N − 1

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Discrétisations du temps avec pas constant dt

On choisit l'instant initial a = 0 et l'instant �nal b.

dt =b − a

N

T = np.arange(a, b, dt)

T = (a, a + dt, . . . , a + (N − 1) dt < b)

T = np.linspace(a, b, N+1)

T = (a, a + dt, . . . , a + (N − 1) dt, a + N dt = b)

Attention ! Avec np.linspace(a, b, N),

T = (a, a + dτ, . . . , a + (N − 1) dτ = b) et dτ =b − a

N − 1

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Discrétisations du temps avec pas constant dt

On choisit l'instant initial a = 0 et l'instant �nal b.

dt =b − a

N

T = np.arange(a, b, dt)

T = (a, a + dt, . . . , a + (N − 1) dt < b)

T = np.linspace(a, b, N+1)

T = (a, a + dt, . . . , a + (N − 1) dt, a + N dt = b)

Attention ! Avec np.linspace(a, b, N),

T = (a, a + dτ, . . . , a + (N − 1) dτ = b) et dτ =b − a

N − 1

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Discrétisations du temps avec pas constant dt

On choisit l'instant initial a = 0 et l'instant �nal b.

dt =b − a

N

T = np.arange(a, b, dt)

T = (a, a + dt, . . . , a + (N − 1) dt < b)

T = np.linspace(a, b, N+1)

T = (a, a + dt, . . . , a + (N − 1) dt, a + N dt = b)

Attention ! Avec np.linspace(a, b, N),

T = (a, a + dτ, . . . , a + (N − 1) dτ = b) et dτ =b − a

N − 1

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy

Équation di�érentielle

∀ t > 0, y ′(t) + 2ty(t) = 0

Forme résoluble

∀ t > 0, y ′(t) = F(y(t), t

)= −2ty(t)

Condition initialey(0) = 1

Solution∀ t > 0, y(t) = e−t2

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy

Équation di�érentielle

∀ t > 0, y ′(t) + 2ty(t) = 0

Forme résoluble

∀ t > 0, y ′(t) = F(y(t), t

)= −2ty(t)

Condition initialey(0) = 1

Solution∀ t > 0, y(t) = e−t2

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy

Équation di�érentielle

∀ t > 0, y ′(t) + 2ty(t) = 0

Forme résoluble

∀ t > 0, y ′(t) = F(y(t), t

)= −2ty(t)

Condition initialey(0) = 1

Solution∀ t > 0, y(t) = e−t2

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy

Équation di�érentielle

∀ t > 0, y ′(t) + 2ty(t) = 0

Forme résoluble

∀ t > 0, y ′(t) = F(y(t), t

)= −2ty(t)

Condition initialey(0) = 1

Solution∀ t > 0, y(t) = e−t2

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler explicite

Initialisation

y0 = 1.0

Y = [y0]

Résolution

def F(y,t):

return -2*t*y

for t in T[1:]:

y0 = y0 + dt*F(y0,t)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler explicite

Initialisation

y0 = 1.0

Y = [y0]

Résolution

def F(y,t):

return -2*t*y

for t in T[1:]:

y0 = y0 + dt*F(y0,t)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler explicite

Initialisation

y0 = 1.0

Y = [y0]

Résolution

def F(y,t):

return -2*t*y

for t in T[1:]:

y0 = y0 + dt*F(y0,t)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma implicite

Même discrétisation du temps, même initialisation

Après résolution :

∀ i > 1, yi =yi−1

1+ 2ti dt= G (yi−1, ti )

def G(y, t):

return y/(1+2*t*dt)

Itération

for t in T[1:]:

y0 = G(y0, t)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma implicite

Même discrétisation du temps, même initialisation

Après résolution :

∀ i > 1, yi =yi−1

1+ 2ti dt= G (yi−1, ti )

def G(y, t):

return y/(1+2*t*dt)

Itération

for t in T[1:]:

y0 = G(y0, t)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma implicite

Même discrétisation du temps, même initialisation

Après résolution :

∀ i > 1, yi =yi−1

1+ 2ti dt= G (yi−1, ti )

def G(y, t):

return y/(1+2*t*dt)

Itération

for t in T[1:]:

y0 = G(y0, t)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Courbe de Gauss : dt = 0, 1

0.0 0.5 1.0 1.5 2.0 2.5 3.0

t

0.0

0.2

0.4

0.6

0.8

1.0

y

Euler classiqueEuler impliciteSolution exacte

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Courbe de Gauss : dt = 0, 05

0.0 0.5 1.0 1.5 2.0 2.5 3.0

t

0.0

0.2

0.4

0.6

0.8

1.0

y

Euler classiqueEuler impliciteSolution exacte

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy en dimension 2

y(t)←(x(t), y(t)

)

Système di�érentiel{x ′(t) = −2x(t) + y(t)

y ′(t) = x(t) − 2y(t)

Condition initialex(0) = 2, y(0) = 0

Solution

∀ t ∈ R,{x(t) = e−t + e−3t

y(t) = e−t − e−3t

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy en dimension 2

y(t)←(x(t), y(t)

)Système di�érentiel{

x ′(t) = −2x(t) + y(t)

y ′(t) = x(t) − 2y(t)

Condition initialex(0) = 2, y(0) = 0

Solution

∀ t ∈ R,{x(t) = e−t + e−3t

y(t) = e−t − e−3t

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy en dimension 2

y(t)←(x(t), y(t)

)Système di�érentiel{

x ′(t) = −2x(t) + y(t)

y ′(t) = x(t) − 2y(t)

Condition initialex(0) = 2, y(0) = 0

Solution

∀ t ∈ R,{x(t) = e−t + e−3t

y(t) = e−t − e−3t

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy en dimension 2

y(t)←(x(t), y(t)

)Système di�érentiel{

x ′(t) = −2x(t) + y(t)

y ′(t) = x(t) − 2y(t)

Condition initialex(0) = 2, y(0) = 0

Solution

∀ t ∈ R,{x(t) = e−t + e−3t

y(t) = e−t − e−3t

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler explicite

Initialisation

x0, y0 = 2.0, 0.0

X, Y = [x0], [y0]

Résolution F : R2 ×R→ R2

p, q = 1-2*dt, dt

def F(x, y, t):

return p*x+q*y, q*x+p*y

for t in T[1:]:

x0, y0 = F(x0, y0,t)

X.append(x0)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler explicite

Initialisation

x0, y0 = 2.0, 0.0

X, Y = [x0], [y0]

Résolution F : R2 ×R→ R2

p, q = 1-2*dt, dt

def F(x, y, t):

return p*x+q*y, q*x+p*y

for t in T[1:]:

x0, y0 = F(x0, y0,t)

X.append(x0)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler explicite

Initialisation

x0, y0 = 2.0, 0.0

X, Y = [x0], [y0]

Résolution F : R2 ×R→ R2

p, q = 1-2*dt, dt

def F(x, y, t):

return p*x+q*y, q*x+p*y

for t in T[1:]:

x0, y0 = F(x0, y0,t)

X.append(x0)

Y.append(y0)

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler implicite

Même discrétisation du temps, même initialisation.

Formule de récurrence

∀ k > 0,

xk+1 = (1+2 dt)·xk+ dt·yk1+4 dt+3 dt2

yk+1 = dt·xk+(1+2 dt)·yk1+4 dt+3 dt2

Det = 1+4*dt+3*dt**2

p, q = (1+2*dt)/Det, dt/Det

def F(x, y, t):

return p*x+q*y, q*x+p*y

Même résolution

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler implicite

Même discrétisation du temps, même initialisation.Formule de récurrence

∀ k > 0,

xk+1 = (1+2 dt)·xk+ dt·yk1+4 dt+3 dt2

yk+1 = dt·xk+(1+2 dt)·yk1+4 dt+3 dt2

Det = 1+4*dt+3*dt**2

p, q = (1+2*dt)/Det, dt/Det

def F(x, y, t):

return p*x+q*y, q*x+p*y

Même résolution

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler implicite

Même discrétisation du temps, même initialisation.Formule de récurrence

∀ k > 0,

xk+1 = (1+2 dt)·xk+ dt·yk1+4 dt+3 dt2

yk+1 = dt·xk+(1+2 dt)·yk1+4 dt+3 dt2

Det = 1+4*dt+3*dt**2

p, q = (1+2*dt)/Det, dt/Det

def F(x, y, t):

return p*x+q*y, q*x+p*y

Même résolution

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schéma d'Euler implicite

Même discrétisation du temps, même initialisation.Formule de récurrence

∀ k > 0,

xk+1 = (1+2 dt)·xk+ dt·yk1+4 dt+3 dt2

yk+1 = dt·xk+(1+2 dt)·yk1+4 dt+3 dt2

Det = 1+4*dt+3*dt**2

p, q = (1+2*dt)/Det, dt/Det

def F(x, y, t):

return p*x+q*y, q*x+p*y

Même résolution

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Système di�érentiel : dt = 0, 05

0.0 0.5 1.0 1.5 2.0

x

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45y

Euler classiqueEuler impliciteSolution exacte

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Système di�érentiel : dt = 0, 025

0.0 0.5 1.0 1.5 2.0

x

0.00

0.05

0.10

0.15

0.20

0.25

0.30

0.35

0.40

0.45y

Euler classiqueEuler impliciteSolution exacte

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy

Mise sous forme résoluble

x ′′(t) + ω2x(t) = 0 ⇐⇒{x ′(t) = v(t)v ′(t) = −ω2x(t)

Inconnue y(t) =(x(t), v(t)

)Condition initiale

y(0) = (1, 0) ⇐⇒{x(0) = 1, x ′(0) = 0

}Solution

y(t) = (cosωt,−ω sinωt) ⇐⇒ x(t) = cosωt

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy

Mise sous forme résoluble

x ′′(t) + ω2x(t) = 0 ⇐⇒{x ′(t) = v(t)v ′(t) = −ω2x(t)

Inconnue y(t) =(x(t), v(t)

)

Condition initiale

y(0) = (1, 0) ⇐⇒{x(0) = 1, x ′(0) = 0

}Solution

y(t) = (cosωt,−ω sinωt) ⇐⇒ x(t) = cosωt

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy

Mise sous forme résoluble

x ′′(t) + ω2x(t) = 0 ⇐⇒{x ′(t) = v(t)v ′(t) = −ω2x(t)

Inconnue y(t) =(x(t), v(t)

)Condition initiale

y(0) = (1, 0) ⇐⇒{x(0) = 1, x ′(0) = 0

}

Solution

y(t) = (cosωt,−ω sinωt) ⇐⇒ x(t) = cosωt

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Problème de Cauchy

Mise sous forme résoluble

x ′′(t) + ω2x(t) = 0 ⇐⇒{x ′(t) = v(t)v ′(t) = −ω2x(t)

Inconnue y(t) =(x(t), v(t)

)Condition initiale

y(0) = (1, 0) ⇐⇒{x(0) = 1, x ′(0) = 0

}Solution

y(t) = (cosωt,−ω sinωt) ⇐⇒ x(t) = cosωt

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schémas d'Euler

Schéma explicite {xk+1 = xk + vk · dtvk+1 = vk − ω2 · xk · dt

Schéma implicite

xk+1 =xk + vk · dt1+ (ω dt)2

vk+1 =vk − ω2xk dt

1+ (ω dt)2

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Schémas d'Euler

Schéma explicite {xk+1 = xk + vk · dtvk+1 = vk − ω2 · xk · dt

Schéma implicite

xk+1 =xk + vk · dt1+ (ω dt)2

vk+1 =vk − ω2xk dt

1+ (ω dt)2

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Pendule harmonique : dt = 0, 1

0 2 4 6 8 10 12 14

t

−1.5

−1.0

−0.5

0.0

0.5

1.0

1.5

x

Euler expliciteEuler impliciteSolution exacte

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Pendule harmonique : dt = 0, 02

0 2 4 6 8 10 12 14

t

−1.5

−1.0

−0.5

0.0

0.5

1.0

1.5

x

Euler expliciteEuler impliciteSolution exacte

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Dans l'espace des phases : dt = 0, 1

−1.0 −0.5 0.0 0.5 1.0

x

−0.5

0.0

0.5

dx/

dt

Solution exacteEuler expliciteEuler implicite

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Dans l'espace des phases : dt = 0, 02

−1.0 −0.5 0.0 0.5 1.0

x

−0.5

0.0

0.5

dx/

dt

Solution exacteEuler expliciteEuler implicite

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Avantages

La qualité d'approximation est meilleure quand le pas de tempsdt diminue.

Le schéma implicite est légèrement plus précis que le schémaexplicite.

Lycée Pierre Corneille � MP La méthode d'Euler

Équation non autonome du premier ordreSystème di�érentiel

Équation scalaire du second ordreBilan

Inconvénients

Quand le pas de temps diminue, le nombre de calculs àe�ectuer augmente.

Dans l'espace des phases, on peut perdre des propriétésqualitatives essentielles (périodicité).

Pour des équations non linéaires, le schéma implicite est lourden calculs.

Comment contrôler la qualité de l'approximation quand on nesait pas résoudre littéralement l'équation ?

Comment choisir le pas de temps ?

Lycée Pierre Corneille � MP La méthode d'Euler

Recommended