• Aucun résultat trouvé

Méthodes numériques II

N/A
N/A
Protected

Academic year: 2022

Partager "Méthodes numériques II"

Copied!
101
0
0

Texte intégral

(1)

Méthodes numériques II

Notes de cours

Sup Galilée, Ingénieurs Energétique 1ère année

1

2

Francois Cuvelier

3

Université Paris XIII / Institut Galilée

4

L.A.G.A./Département de Mathématiques

5

http://www.math.univ-paris13.fr/„cuvelier

6

7

(2)
(3)

Table des matières

1

1 Langage Algorithmique 1

2

1.1 Pseudo-langage algorithmique . . . . 1

3

1.1.1 Données et constantes . . . . 1

4

1.1.2 Variables . . . . 1

5

1.1.3 Opérateurs . . . . 2

6

1.1.4 Expressions . . . . 2

7

1.1.5 Instructions . . . . 3

8

1.1.6 Fonctions . . . . 4

9

1.2 Méthodologie d'élaboration d'un algorithme . . . . 6

10

1.2.1 Description du problème . . . . 6

11

1.2.2 Recherche d'une méthode de résolution . . . . 6

12

1.2.3 Réalisation d'un algorithme . . . . 7

13

1.2.4 Exercices . . . . 7

14

1.3 Principes de bonne programmation pour attaquer de gros problèmes . . . . 9

15

2 Dérivation numérique 11

16

3 Introduction à la résolution d'E.D.O. 21

17

3.1 Introduction . . . 21

18

3.1.1 Exemple en météorologie : modèle de Lorentz . . . 21

19

3.1.2 Exemple en biologie . . . 23

20

3.1.3 Exemple en chimie : La réaction de Belousov-Zhabotinsky . . . 23

21

3.1.4 Exemple en mécanique . . . 25

22

3.2 Problème de Cauchy . . . 26

23

3.3 Diérences nies pour les E.D.O. . . 30

24

3.3.1 Diérences nies pour le problème de Cauchy en dimension m “ 1 . . . 30

25

3.3.2 Diérences nies pour le problème de Cauchy en dimension m . . . 33

26

3.4 Méthodes à un pas ou à pas séparés . . . 34

27

3.5 Méthodes de Runge-Kutta . . . 36

28

3.5.1 Principe . . . 36

29

3.5.2 Formules explicites de Runge-Kutta d'ordre 2 . . . 37

30

3.5.3 Méthodes de Runge-Kutta d'ordre 4 . . . 39

31

3.6 Méthodes à pas multiples . . . 42

32

3.6.1 Exemple : schéma de point milieu . . . 42

33

(4)

0.T ABLE DES MA TIÈRES 0.0. T ABLE DES MA TIÈRES 0.0.0

3.6.2 Le principe . . . 42

1

3.6.3 Méthodes explicites d'Adams-Bashforth . . . 44

2

3.6.4 Méthodes implicites d'Adams-Moulton . . . 45

3

3.6.5 Schéma prédicteur-correcteur . . . 46

4

3.7 Applications . . . 49

5

3.7.1 Modèle de Lorentz . . . 49

6

4 Introduction à la résolution d'E.D.P. 51

7

4.1 Exemples d'EDP . . . 51

8

4.1.1 Equation de Laplace et équation de Poisson . . . 51

9

4.1.2 Equation de convection-diusion stationnaire . . . 54

10

4.1.3 Equation de la chaleur . . . 55

11

4.1.4 Equation des ondes . . . 56

12

4.2 Dénitions . . . 57

13

4.3 Méthodes de résolution numérique d'EDP . . . 58

14

4.4 Opérateurs aux diérences nies . . . 58

15

4.4.1 Dimension 1 . . . 58

16

4.4.2 Dimension n ě 1 . . . 62

17

4.5 Méthode des diérences nies (dimension 1 en espace) . . . 65

18

4.5.1 EDP stationnaire avec conditions aux limites de Dirichlet . . . 65

19

4.5.2 EDP stationnaire avec conditions aux limites mixtes . . . 70

20

4.6 Problème modèle évolutif 1D : équation de la chaleur . . . 76

21

4.6.1 Schéma explicite en temps . . . 79

22

4.6.2 Schéma implicite en temps . . . 90

23

(5)

1

Chapitre 1

Langage Algorithmique

1

1.1 Pseudo-langage algorithmique

2

Pour uniformiser l'écriture des algorithmes nous employons, un pseudo-langage contenant l'indispensable :

3

4

‚ variables,

5

‚ opérateurs (arithmétiques, relationnels, logiques),

6

‚ expressions,

7

‚ instructions (simples et composées),

8

‚ fonctions.

9

Ce pseudo-langage sera de fait très proche du langage de programmation de Matlab.

10

1.1.1 Données et constantes

11

Une donnée est une valeur introduite par l'utilisateur (par ex. une température, une vitesse, ... Une

12

constante est un symbole ou un identicateur non modiable (par ex. π , la constante de gravitation,...)

13

1.1.2 Variables

14

Denition 1.1

Une variable est un objet dont la valeur est modiable, qui possède un nom et un type (entier,

charactère, réel, complexe, ...). Elle est rangée en mémoire à partir d'une certaine adresse.

15

(6)

1. Langage Algo rithmique 1.1. Pseudo-langage algo rithmique 1.1.4 Exp ressions

1.1.3 Opérateurs

1

Opérateurs arithmétiques

2

Nom Symbole example

addition ` a ` b

soustraction ´ a ´ b

opposé ´ ´a

produit ˚ a ˚ b

division { a{b

puissance a

b ^

a

^

b

Table 1.1: Opérateurs arithmétiques Opérateurs relationnels

3

Nom Symbole example Commentaires

identique ““ a ““ b vrai si a et b ont même valeur, faux sinon.

diérent „“ a „“ b faux si a et b ont même valeur, vrai sinon.

inférieur ă a ă b vrai si a est plus petit que b , faux sinon.

supérieur ą a ą b vrai si a est plus grand que b , faux sinon.

inférieur ou égal ă“ a ă“ b vrai si a est plus petit ou égal à b , faux sinon.

supérieur ou égal ą“ a ą“ b vrai si a est plus grand ou égal à b , faux sinon.

Table 1.2: Opérateurs relationnels Opérateurs logiques

4

Nom Symbole example Commentaires

négation „ „ a vrai si a est faux (ou nul), faux sinon.

ou | a|b vrai si a ou b est vrai (non nul), faux sinon.

et & a&b vrai si a et b sont vrais (non nul), faux sinon.

Table 1.3: Opérateurs logiques Opérateur d'aectation

5

Nom Symbole example Commentaires

aectation Ð a Ð b On aecte à la variable a le contenu de b Table 1.4: Opérateurs d'aectation

1.1.4 Expressions

6

Denition 1.2

Une expression est un groupe d'opérandes (i.e. nombres, constantes, variables, ...) liées par certains opérateurs pour former un terme algébrique qui représente une valeur (i.e. un élément de donnée simple)

7

Exemple 1.3 • Voici un exemple classique d'expression numérique : pb ˚ b ´ 4 ˚ a ˚ cq{p2 ˚ aq.

On appelle opérandes les identiants a, b et c, et les nombres 4 et 2. Les symboles ˚, ´ et { sont

8

les opérateurs.

9

(7)

Pseudo-langage algorithmique

1. Langage Algo rithmique 1.1.Pseudo-langage algo rithmique 1.1.5 Instructions

3

• Voici un exemple classique d'expression booléenne (logique) : px ă 3.14q

Dans cette expression, x est une variable numérique et 3.14 est un nombre réel. Cette expression

1

prendra la valeur vrai (i.e. 1 ) si x est plus petit que 3.14. Sinon, elle prendra la valeur faux (i.e. 0 )

2

1.1.5 Instructions

3

Denition 1.4

Une instruction est un ordre ou un groupe d'ordres qui déclenche l'exécution de certaines actions par l'ordinateur. Il y a deux types d'instructions : simple et structuré.

Les instructions simples sont essentiellement des ordres seuls et inconditionnels réalisant l'une des tâches suivantes :

1. aectation d'une valeur a une variable.

2. appel d'une fonction (procedure, subroutine, ... suivant les langages).

Les instructions structurées sont essentiellement :

1. les instructions composées, groupe de pulsieurs instructions simples,

2. les instructions répétitives, permettant l'exécution répétée d'instructions simples, (i.e. boucles pour, tant que)

3. les instructions conditionnelles, lesquels ne sont exécutées que si une certaine condition est

respectée (i.e. si)

4

Les exemples qui suivent sont écrits dans un pseudo langage algorithmique mais sont facilement

5

transposable dans la plupart des langages de programmation.

6

Instructions simples

7

Voici un exemple de l'instruction simple d'aectation :

8

1:

a Ð 3.14 ˚ R

9

On évalue l'expression 3.14 ˚ R et aecte le résultat à la variable a.

10

Un autre exemple est donné par l'instruction simple d'achage :

11

affiche('bonjour')

12

Ache la chaine de caractères 'bonjour' à l'écran. Cette instruction fait appel à la fonction affiche.

13

Instructions composées

14

Instructions répétitives, boucle pour

15

Algorithme 1.1 Exemple de boucle pour Données : n : un entier.

1:

S Ð 0

2:

Pour i Ð 1 à n faire

3:

S Ð S ` cospi

2

q

4:

Fin Pour

Compiled on 2016/03/08 at 18:59:44

(8)

1. Langage Algo rithmique 1.1. Pseudo-langage algo rithmique 1.1.6 Fonctions

Instruction répétitive, boucle tant que

1

Algorithme 1.2 Exemple de boucle tant que

1:

i Ð 0, x Ð 1

2:

Tantque i ă 1000 faire

3:

x Ð x ` i ˚ i

4:

i Ð i ` 1

5:

Fin Tantque

Instruction répétitive, boucle répéter ...jusqu'à

2

Algorithme 1.3 Exemple de boucle répéter ...jusqu'à

1:

i Ð 0, x Ð 1

2:

Répéter

3:

x Ð x ` i ˚ i

4:

i Ð i ` 1

5:

jusqu'à i>=1000

Instructions conditionnelles si

3

Algorithme 1.4 Exemple d'instructions conditionnelle si Données : age : un réel.

1:

Si age ą“ 18 alors

2:

ache('majeur')

3:

Sinon Si age ą“ 0 alors

4:

ache('mineur')

5:

Sinon

6:

ache('en devenir')

7:

Fin Si

1.1.6 Fonctions

4

Les fonctions permettent

5

• d'automatiser certaines tâches répétitives au sein d'un même programme,

6

• d'ajouter à la clarté d'un programme,

7

• l'utilisation de portion de code dans un autre programme,

8

• ...

9

Fonctions prédénies

10

Pour faciliter leur usage, tous les langages de programmation possèdent des fonctions prédénies. On

11

pourra donc supposer que dans notre langage algorithmique un grand nombre de fonctions soient prédénies

12

: par exemple, les fonctions mathématiques sin, cos, exp, abs, ¨ ¨ ¨ (pour ne citer quelles)

13

Syntaxe

14

On utilise la syntaxe suivante pour la dénition d'une fonction

15 16

(9)

Pseudo-langage algorithmique

1. Langage Algo rithmique 1.1.Pseudo-langage algo rithmique 1.1.6 Fon ction s

5 Fonction rargs

1

, . . . , args

n

s Ð NomFonction ( arge

1

, . . . , arge

m

)

instructions Fin Fonction

1

La fonction se nomme NomFonction . Elle admet comme paramètres d'entrée (données) les m argu-

2

ments arge

1

, . . . , arge

m

et comme paramètres de sortie (résultats) les n arguments args

1

, . . . , args

n

. Ces

3

derniers doivent être déterminés dans le corps de la fonction (partie instructions).

4

Dans le cas ou la fonction n'admet qu'un seul paramètre de sortie, l'écriture se simplie :

5 6

Fonction args Ð NomFonction ( arge

1

, . . . , arge

m

) instructions

Fin Fonction

7

Ecrire ses propres fonctions

8

Pour écrire une fonction propre, il faut tout d'abord déterminer exactement ce que devra faire cette

9

fonction.

10

Puis, il faut pouvoir répondre à quelques questions :

11

1. Quelles sont les données (avec leurs limitations)?

12

2. Que doit-on calculer ?

13

Et, ensuite il faut la commenter : expliquer son usage, type des paramètres, ....

14

Exemple : résolution d'une équation du premier degré

15

Nous voulons écrire une fonction calculant la solution de l'équation ax ` b “ 0,

où nous supposons que a P R

˚

et b P R. La solution de ce problème est donc x “ ´ b

a .

Les données de cette fonction sont a P R

˚

et b P R. Elle doit retourner x “ ´

ba

solution de ax ` b “ 0.

16

Algorithme 1.5 Exemple de fonction : Résolution de l'équation du premier degré ax ` b “ 0.

Données : a : nombre réel diérent de 0 b : nombre réel.

Résultat : x : un réel.

1:

Fonction x Ð REPD( a, b )

2:

x Ð ´b{a

3:

Fin Fonction

Remarque 1.5 Cette fonction est très simple, toutefois pour ne pas alourdir le code nous n'avons pas

17

vérié la validité des données fournies.

18

Exercice 1.1.1

Ecrire un algorithme permettant de valider cette fonction.

19

Compiled on 2016/03/08 at 18:59:44

(10)

1. Langage Algo rithmique 1.2. Métho dologie d'élab oration d'un algo rithm e 1.2.3 Réalisati on d'un algo rithme

Exemple : résolution d'une équation du second degré

1

Nous cherchons les solutions réelles de l'équation

2

ax

2

` bx ` c “ 0, (1.1)

où nous supposons que a P R

˚

, b P R et c P R sont donnés.

3

Mathématiquement, l'étude des solutions réelles de cette équation nous amène à envisager trois cas

4

suivant les valeurs du discriminant ∆ “ b

2

´ 4ac

5

• si ∆ ă 0 alors les deux solutions sont complexes,

6

• si ∆ “ 0 alors la solution est x “ ´

2ab

,

7

• si ∆ ą 0 alors les deux solutions sont x

1

´b´

?∆

2˚a

et x

2

´b`

?∆ 2˚a

.

8

Exercice 1.1.2

1. Ecrire la fonction discriminant permettant de calculer le discriminant de l'équation (1.1).

2. Ecrire la fonction RESD permettant de résoudre l'équation (1.1) en utilisant la fonction discriminant.

3. Ecrire un programme permettant de valider ces deux fonctions.

9

Exercice 1.1.3

Même question que précédemment dans le cas complexe (solution et coecients).

10

1.2 Méthodologie d'élaboration d'un algorithme

11

1.2.1 Description du problème

12

‚ Spécication d'un ensemble de données

13

Origine : énoncé,hypothèses, sources externes, ...

14

‚ Spécication d'un ensemble de buts à atteindre

15

Origine : résultats, opérations à eectuer, ...

16

‚ Spécication des contraintes

17

1.2.2 Recherche d'une méthode de résolution

18

‚ Clarier l'énoncé.

19

‚ Simplier le problème.

20

‚ Ne pas chercher à le traiter directement dans sa globalité.

21

‚ S'assurer que le problème est soluble (sinon problème d'indécidabilité!)

22

‚ Recherche d'une stratégie de construction de l'algorithme

23

‚ Décomposer le problème en sous problèmes partiels plus simples : ranement.

24

‚ Eectuer des ranements successifs.

25

‚ Le niveau de ranement le plus élémentaire est celui des instructions.

26

(11)

Méthodologie d'élaboration d'un algorithme

1. Langage Algo rithmique 1.2.Métho dologie d'élab oration d'un algo rithme 1.2.4 Exercices 7

1.2.3 Réalisation d'un algorithme

1

Il doit être conçu indépendamment du langage de programmation et du système informatique (sauf cas

2

très particulier)

3

‚ L'algorithme doit être exécuté en un nombre ni d'opérations.

4

‚ L'algorithme doit être spécié clairement, sans la moindre ambiguïté.

5

‚ Le type de données doit être précisé.

6

‚ L'algorithme doit fournir au moins un résultat.

7

‚ L'algorithme doit être eectif : toutes les opérations doivent pouvoir être simulées par un homme

8

en temps ni.

9

Pour écrire un algorithme détaillé, il faut tout d'abord savoir répondre a quelques questions :

10

11

• Que doit-il faire ? (i.e. Quel problème est-il censé résoudre?)

12

• Quelles sont les données necessaires à la résolution de ce problème?

13

• Comment résoudre ce problème à la main (sur papier)?

14

Si l'on ne sait pas répondre à l'une de ces questions, l'écriture de l'algorithme est fortement comprise.

15

1.2.4 Exercices

16

Exercice 1.2.1: Algorithme pour une somme Ecrire un algorithme permettant de calculer

Spxq “

n

ÿ

k“1

k sinp2 ˚ k ˚ xq

17

Correction Exercice 1.2.1 L'énoncé de cet exercice est imprécis. On choisi alors x P R et n P N pour rendre possible le calcul. Le problème est donc de calculer

n

ÿ

k“1

k sinp2kxq.

Toutefois, on aurait pu choisir x P C ou encore un tout autre problème : Trouver x P R tel que Spxq “

n

ÿ

k“1

k sinp2kxq

où n P N et S, fonction de R à valeurs réelles, sont les données!

18

Algorithme 1.6 Calcul de S “ ř

n

k“1

k sinp2kxq Données : x : nombre réel,

n : nombre entier.

Résultat : S : un réel.

1:

S Ð 0

2:

Pour k Ð 1 à n faire

3:

S Ð S ` k ˚ sinp2 ˚ k ˚ xq

4:

Fin Pour

˛

19 20

Compiled on 2016/03/08 at 18:59:44

(12)

1. Langage Algo rithmique 1.2. Métho dologie d'élab oration d'un algo rithm e 1.2.4 Exercices

Exercice 1.2.2: Algorithme pour un produit Ecrire un algorithme permettant de calculer

P pzq “

k

ź

n“1

sinp2 ˚ k ˚ z{nq

k

1

Correction Exercice 1.2.2 L'énoncé de cet exercice est imprécis. On choisi alors z P R et k P N pour

2

rendre possible le calcul.

3

Algorithme 1.7 Calcul de P “

k

ź

n“1

sinp2kz{nq

k

Données : z : nombre réel,

k : nombre entier.

Résultat : P : un réel.

1:

P Ð 1

2:

Pour n Ð 1 à k faire

3:

P Ð P ˚ sinp2 ˚ k ˚ z{nq

^

k

4:

Fin Pour

˛

4 5

Exercice 1.2.3: Série de Fourier Soit la série de Fourier

xptq “ 4A π

"

cos ωt ´ 1

3 cos 3ωt ` 1

5 cos 5ωt ´ 1

7 cos 7ωt ` ¨ ¨ ¨

* . Ecrire la fonction SFT permettant de calculer x

n

ptq.

6

Correction Exercice 1.2.3 Nous devons écrire la fonction permettant de calculer

x

n

ptq “ 4A π

n

ÿ

k“1

p´1q

k`1

1

2k ´ 1 cospp2k ´ 1qωtq Les données de la fonction sont A P R, ω P R, n P N

˚

et t P R.

7

Grâce a ces renseignements nous pouvons déjà écrire l'entête de la fonction :

8

Algorithme 1.8 En-tête de la fonction SFT retournant valeur de la série de Fourier en t tronquée au n premiers termes de l'exercice 1.2.3.

Données : t : nombre réel,

n : nombre entier strictement positif A, ω : deux nombres réels.

Résultat : x : un réel.

1:

Fonction x Ð SFT( t, n, A, ω )

2:

. . .

3:

Fin Fonction

Maintenant nous pouvons écrire progressivement l'algorithme pour aboutir au nal à une version ne

9

contenant que des opérations élémentaires.

10

(13)

Principes de bonne programmation pour attaquer de gros problèmes

1. Langage Algo rithmique 1.3.Princip es de b onne progr ammation pour attaquer de gros problèmes 1.3.0 Exercices 9

Algorithme 1.9

R

0

1:

x Ð 4A π

n

ÿ

k“1

ˆ p´ 1 q

k`12k´11

ˆ cos pp 2k ´ 1 q ωt q

˙

Algorithme 1.9

R

1

1:

S Ð

n

ÿ

k“1

p´ 1 q

k`1

1

2k ´ 1 cos pp 2k ´ 1 q ωt q

2:

x Ð 4A π S

1 2

Algorithme 1.9

R

1

1:

S Ð

n

ÿ

k“1

p´ 1 q

k`1

1 2k ´ 1

cos pp 2k ´ 1 q ωt q

2:

x

n

p t q Ð 4A π S

Algorithme 1.9

R

2

1:

S Ð 0

2: Pour

k “ 1

à

n

faire

3:

S Ð S ` p´ 1 q

k`12k´11

˚ cos pp 2k ´ 1 q ωt q

4: FinPour

5:

x

n

p t q Ð 4A π S

3

Finalement la fonction est

4

Algorithme 1.9 Fonction SFT retournant la valeur de la série de Fourier en t tronquée au n premiers termes de l'exercice ??.

Données : t : nombre réel,

n : nombre entier strictement positif A, ω : deux nombres réels.

Résultat : x : un réel.

1:

Fonction x Ð SFT( t, n, A, ω )

2:

S Ð 0

3:

Pour k “ 1 à n faire

4:

S Ð S ` pp´1q

^

pk ` 1qq ˚ cospp2 ˚ k ´ 1q ˚ ω ˚ tq{p2 ˚ k ´ 1q

5:

Fin Pour

6:

S Ð 4 ˚ A ˚ S{π

7:

Fin Fonction

˛

5 6

Exercice 1.2.4

Reprendre les trois exercices précédents en utilisant les boucles tant que.

7

1.3 Principes de bonne programmation pour attaquer

8

de gros problèmes

9

Tous les exemples vus sont assez courts. Cependant, il peut arriver que l'on ait des programmes plus

10

longs à écrire (milliers de lignes, voir des dizaines de milliers de lignes). Dans l'industrie, il arrive que des

11

équipes produisent des codes de millions de lignes, dont certains mettent en jeux des vies humaines (con-

12

trôler un avion de ligne, une centrale nucléaire, ...). Le problème est évidemment d'écrire des programmes

13

sûrs. Or, un programme à 100% sûr, cela n'existe pas! Cependant, plus un programme est simple, moins

14

le risque d'erreur est grand : c'est sur cette remarque de bon sens que se basent les bonnes méthodes.

15

Ainsi :

16

17

Tout problème compliqué doit être découpé en sous-problèmes plus simples

Il s'agit, lorsqu'on a un problème P à résoudre, de l'analyser et de le décomposer en un ensemble de

18

problèmes P

1

, P

2

, P

3

, . . . plus simples. Puis, P

1

, est lui-même analysé et décomposé en P

11

, P

12

, . . . , et

19

Compiled on 2016/03/08 at 18:59:44

(14)

1. Langage Algo rithmique 1.3. Princip es de b onne programmation pour attaquer de gros problè mes 1.3.0 Exercices

P

2

en P

21

, P

22

, etc. On poursuit cette analyse jusqu'à ce qu'on n'ait plus que des problèmes élémentaires

1

à résoudre. Chacun de ces problèmes élémentaires est donc traité séparément dans un module, c'est à

2

dire un morceau de programme relativement indépendant du reste. Chaque module sera testé et validé

3

séparément dans la mesure du possible et naturellement largement docummenté. Enn ces modules

4

élémentaires sont assemblés en modules de plus en plus complexes, jusqu'à remonter au problème initiale.

5

A chaque niveau, il sera important de bien réaliser les phases de test, validation et documentation des

6

modules.

7

Par la suite, on s'évertue à écrire des algorithmes!

Ceux-ci ne seront pas optimisés

a

!

aaméliorés pour minimiser le nombre d'opérations élémentaires, l'occupation mémoire, ..

8

(15)

2

Chapitre 2

Dérivation numérique

1

Soit y : ra, bs ÝÑ R , de classe C

1

et t P ra, bs. La dérivée y

1

ptq est donnée par

2

y

1

ptq “ lim

hÑ0`

ypt ` hq ´ yptq h

“ lim

hÑ0`

yptq ´ ypt ´ hq h

“ lim

hÑ0

ypt ` hq ´ ypt ´ hq 2h

Denition 2.1

Soit N P N

˚

. On appelle discrétisation régulière de ra, bs à N pas ou N ` 1 points l'ensemble des points a ` nh, n P v0, N w où le pas h est donné par h “ pb ´ aq{N.

3

Soient tt

n

u

nPv0,Nw

une discrétisation régulière de ra, bs et pDyq

n

une approximation de y

1

pt

n

q. On

4

appelle

5

‚ diérence nie progressive l'approximation

6

pDyq

Pn

“ ypt

n`1

q ´ ypt

n

q

h , @n P v0, N ´ 1w (2.1)

‚ diérence nie rétrograde l'approximation

7

pDyq

Rn

“ ypt

n

q ´ ypt

n´1

q

h , @n P v1, Nw (2.2)

‚ diérence nie centrée l'approximation

8

pDyq

Cn

“ ypt

n`1

q ´ ypt

n´1

q

2h , @n P v1, N ´ 1w (2.3)

Pour calculer l'erreur commise par ces approximations, on rappelle le developpement de Taylor-

9

Lagrange

10

(16)

2. Dérivation numérique 2.0. 2.0.0 Exercices

Proposition 2.2: Développement de Taylor-Lagrange Soit f une application f : ra, bs ÝÑ R . Si f P C

r`1

pra, bsq alors

‚ @px, yq P ra, bs

2

il existe un ξ Psx, yr tel que f pxq “ f pyq `

r

ÿ

k“1

f

pkq

pyq

k! px ´ yq

k

` f

pr`1q

pξq

pr ` 1q! px ´ yq

r`1

(2.4)

‚ @x P ra, bs, @h P R

˚

vériant x ` h P ra, bs, il existe ξ Ps minpx, x ` hq, maxpx, x ` hqr tel quel f px ` hq “ f pxq `

r

ÿ

k“1

f

pkq

pxq

k! h

k

` f

pr`1q

pξq

pr ` 1q! h

r`1

(2.5)

1

Brook Taylor 1685-1731, Mathé-

maticien anglais (a) Joseph-Louis Lagrange

1736-1813, Mathématicien ital- ien(sarde) puis naturalisé français

Denition 2.3

Soit g une fonction. On dit que g se comporte comme un grand O de h

q

quand h tend vers 0 si et seulement si il existe H ą 0 et C ą 0 tel que

|gphq| ď Ch

q

, @h Ps ´ H, Hr.

On note alors gphq “ Oph

q

q.

2

Avec cette notation le développement de Taylor (2.5) s'écrit aussi

3

f px ` hq “ f pxq `

r

ÿ

k“1

f

pkq

pxq

k! h

k

` Oph

r`1

q. (2.6)

Exercice 2.0.1

4

(17)

2. Dérivation numérique 2.0. 2.0.0 Exercices 13

Q. 1 Soit y P C

2

pra, bsq.

1. Montrer qu'il existe η

Pn

Pst

n

, t

n`1

r et η

Rn

Pst

n´1

, t

n

r tels que pDyq

Pn

“ y

p1q

pt

n

q ` h

2 y

p2q

nP

q et

pDyq

Rn

“ y

p1q

pt

n

q ´ h

2 y

p2q

nR

q 2. En déduire que

| y

p1q

pt

n

q ´ pDyq

Pn

| ď C

1

h, avec C

1

“ 1 2 max

tPrtn,tn`1s

| y

p2q

ptq|

et

|y

1

pt

n

q ´ pDyq

Rn

| ď C

2

h, avec C

2

“ 1 2 max

tPrtn´1,tns

| y

p2q

ptq|

Q. 2 Soit y P C

3

pra, bsq.

1. Montrer qu'il existe η

1n

Pst

n

, t

n`1

r et η

n2

Pst

n´1

, t

n

r tels que pDyq

Cn

“ y

p1q

pt

n

q ´ h

2

12 p y

p3q

1n

q ` y

p3q

2n

qq 2. En déduire que

| y

p1q

pt

n

q ´ pDyq

Cn

| ď Eh

2

, avec E “ 1

6 max

tPrtn´1,tn`1s

| y

p3q

ptq|

1

Correction Exercice 3.2.1

2

Q. 1 1. Soit n P v0, N ´ 1w , on a t

n`1

“ t

n

` h et

pDyq

Pn

“ ypt

n`1

q ´ ypt

n

q

h .

D'après la formule de Taylor (2.5), il existe η

Pn

P rt

n

, t

n`1

s tel que

3

ypt

n`1

q “ ypt

n

q ` h y

p1q

pt

n

q ` h

2

2! y

p2q

Pn

q (2.7)

d'où

4

pDyq

Pn

“ ypt

n`1

q ´ ypt

n

q

h “ y

p1q

pt

n

q ` h

2! y

p2q

nP

q. (2.8) Soit n P v1, Nw, on a t

n´1

“ t

n

´ h et

pDyq

Rn

“ ypt

n

q ´ ypt

n´1

q

h .

D'après la formule de Taylor (2.5), il existe η

Rn

P rt

n´1

, t

n

s tels que

5

ypt

n´1

q “ ypt

n

q ´ h y

p1q

pt

n

q ` p´hq

2

2! y

p2q

nR

q (2.9)

d'où

6

pDyq

Rn

“ ypt

n

q ´ ypt

n´1

q

h “ y

p1q

pt

n

q ´ h

2 y

p2q

Rn

q (2.10) 2. Soit n P v0, N ´ 1w , comme η

Pn

P rt

n

, t

n`1

s on a

| y

p2q

Pn

q| ď max

tPrtn,tn`1s

| y

p2q

ptq|

Compiled on 2016/03/08 at 18:59:44

(18)

2. Dérivation numérique 2.0. 2.0.0 Exercices

d'où, en utilisant (2.8),

|pDyq

Pn

´ y

p1q

pt

n

q| “ h

2 | y

p2q

Pn

q| ď h 2 max

tPrtn,tn`1s

| y

p2q

ptq|.

De même, comme η

Rn

P rt

n´1

, t

n

s on a

| y

p2q

nR

q| ď max

tPrtn´1,tnns

| y

p2q

ptq|

d'où, en utilisant (2.10),

|pDyq

Rn

´ y

p1q

pt

n

q| “ h

2 | y

p2q

Rn

q| ď h 2 max

tPrtn´1,tns

| y

p2q

ptq|.

Q. 2 1. Soit n P v0, N ´ 1w , on a

pDyq

Cn

“ ypt

n`1

q ´ ypt

n´1

q

2h .

D'après la formule de Taylor (2.5), il existe η

n1

P rt

n

, t

n`1

s et η

2n

P rt

n´1

, t

n

s tels que

1

ypt

n`1

q “ ypt

n

q ` h y

p1q

pt

n

q ` h

2

2! y

p2q

pt

n

q ` h

3

3! y

p3q

n1

q (2.11) et

2

ypt

n´1

q “ ypt

n

q ´ h y

p1q

pt

n

q ` h

2

2! y

p2q

pt

n

q ´ h

3

3! y

p3q

n2

q (2.12) En soustrayant (2.12) à (2.11), on obtient

ypt

n`1

q ´ ypt

n´1

q “ 2h y

p1q

pt

n

q ` h

3

6 p y

p3q

1n

q ` y

p3q

2n

qq d'où

y

p1q

pt

n

q “ ypt

n`1

q ´ ypt

n´1

q

2h ´ h

2

12 p y

p3q

n1

q ` y

p3q

n2

qq.

2. Comme η

1n

P rt

n

, t

n`1

s Ă rt

n´1

, t

n`1

s, on en déduit que

| y

p3q

n1

q| ď max

tPrtn´1,tn`1s

| y

p3q

ptq|.

De même, comme η

2n

P rt

n´1

, t

n

s Ă rt

n´1

, t

n`1

s on a

| y

p3q

n2

q| ď max

tPrtn´1,tn`1s

| y

p3q

ptq|.

˛

3 4

Denition 2.4

La diérence |y

1

pt

n

q ´ pDyq

n

| est appelée erreur de troncature au point t

n

. On dira que

|y

1

pt

n

q ´ pDyq

n

| est d'ordre p ą 0 si il existe une constance C ą 0 telle que

|y

1

pt

n

q ´ pDyq

n

| ď Ch

p

ðñ |y

1

pt

n

q ´ pDyq

n

| “ Oph

p

q.

5

Les erreurs de troncature des diérences nies progressive et rétrograde sont d'ordre 1 et l'erreur de

6

troncature de la diérence nie centrée est d'ordre 2.

7

On a démontré le lemme suivant

8

Lemme 2.5

9

(19)

2. Dérivation numérique 2.0. 2.0.0 Exercices 15

Si y P C

2

pra, bsq alors ˇ ˇ ˇ ˇ

y

1

pt

n

q ´ ypt

n`1

q ´ ypt

n

q h

ˇ ˇ ˇ ˇ

“ Ophq, @n P v0, N ´ 1w, (2.13) ˇ

ˇ ˇ ˇ

y

1

pt

n

q ´ ypt

n

q ´ ypt

n´1

q h

ˇ ˇ ˇ

ˇ “ Ophq, @n P v1, Nw. (2.14) Si y P C

3

pra, bsq alors

ˇ ˇ ˇ ˇ

y

1

pt

n

q ´ ypt

n`1

q ´ ypt

n´1

q 2h

ˇ ˇ ˇ ˇ

“ Oph

2

q, @n P v1, N ´ 1w. (2.15)

1

Exercice 2.0.2

Soit f P C

3

pra, bs; R q. On note t

n

, n P v0, Nw, une discrétisation régulière de ra, bs de pas h. On note F F F P R

N`1

le vecteur déni par F

n`1

“ f pt

n

q, @n P v0, Nw.

Q. 1 1. Déterminer en fonction de h et F F F , un vecteur V V V P R

N`1

vériant V

n`1

“ f

1

pt

n

q ` Ophq, @n P v0, Nw

2. Ecrire une fonction algorithmique permettant, à partir du vecteur F F F et de la discrétisation régulière, de calculer le vecteur V V V précédant.

Q. 2 1. Connaissant uniquement le vecteur F F F , déterminer un vecteur V V V P R

N`1

vériant W W W

n

“ f

1

pt

n

q ` Oph

2

q.

2. Ecrire une fonction algorithmique permettant, à partir du vecteur F F F et de la discrétisation régulière, de calculer le vecteur W W W précédant.

2

Correction Exercice 2.0.2

3

Q. 1 1. On a h “ pb ´ aq{N et t

n

“ a ` nh, @n P v0, Nw. Par la formule de Taylor, on obtient respectivement les formules progressives et régressives d'ordre 1 suivantes (voir Lemme 2.5)

f pt ` hq ´ f ptq

h “ f

1

ptq ` Ophq et f ptq ´ f pt ´ hq

h “ f

1

ptq ` Ophq.

On va utiliser ces formules en t “ t

n

. On note que la formule progressive n'est pas utilisable en

4

t “ t

N

(car t

N

` h “ b ` h R ra, bs !) et que la formule régressive n'est pas utilisable en t “ t

0

(car

5

t

0

´ h “ a ´ h R ra, bs !). Plus précisement, on a

6

f pt

n`1

q ´ f pt

n

q

h “ f

1

pt

n

q ` Ophq, @n P v0, Nv, (2.16) f pt

n

q ´ f pt

n´1

q

h “ f

1

pt

n

q ` Ophq, @n Pw0, Nw (2.17) On peut alors construire le vecteur V V V en prenant

V

1def

“ f pt

1

q ´ fpt

0

q

h “ f

1

pt

0

q ` Ophq, formule progressive (2.16) avec n “ 0 V

N`1def

“ f pt

N

q ´ f pt

N´1

q

h “ f

1

pt

N

q ` Ophq, formule régressive (2.17) avec n “ N

Compiled on 2016/03/08 at 18:59:44

(20)

2. Dérivation numérique 2.0. 2.0.0 Exercices

et pour les points strictement intérieurs les deux formules sont possible : V

ndef

“ f pt

n`1

q ´ f pt

n

q

h “ f

1

pt

n

q ` Ophq, formule progressive (2.16) avec n Pw0, N v V

ndef

“ f pt

n

q ´ f pt

n´1

q

h “ f

1

pt

n

q ` Ophq, formule régressive (2.17) avec n Pw0, N v

En choisissant par exemple la formule progressive pour les points intérieurs, on obtient en fonction de F F F et h

V

1def

“ F

2

´ F

1

h “ f

1

pt

0

q ` Ophq

@n Pw0, N v, V

ndef

“ F

n`1

´ F

n

h “ f

1

pt

n

q ` Ophq

V

N`1def

“ F

N`1

´ F

N

h “ f

1

pt

N

q ` Ophq.

2. La fonction algorithmique peut s'écrire sous la forme :

1

Algorithme 2.1 Calcul de dérivées d'ordre 1 Données : F F F : vecteur de R

N`1

.

h : nombre réel strictement positif.

Résultat : V V V : vecteur de R

N`1

.

1:

Fonction V V V Ð DeriveOrdre1 ( h, F F F )

2:

V p1q Ð pFp2q ´ Fp1qq{h

3:

Pour i “ 2 à N faire

4:

V piq Ð pFpi ` 1q ´ F piqq{h

5:

Fin Pour

6:

V pN ` 1q Ð pF pN ` 1q ´ F pN qq{h

7:

Fin Fonction

D'autres façons de présenter le problème sont possibles mais les données peuvent dièrer de celles de

2

l'énoncé. Par exemple une autre fonction algorithmique pourrait être

3

Algorithme 2.2 Calcul de dérivées d'ordre 1 Données : f : f : ra, bs ÝÑ R

a, b : deux réels, a ă b ,

N : nombre de pas de discrétisation

Résultat : V V V : vecteur de R

N`1

tel que V

n`1

“ f

1

pt

n

q ` Ophq avec pt

n

q

Nn“0

discrétisation régulière de ra, bs.

1:

Fonction V V V Ð DeriveOrdre1 ( f, a, b, N )

2:

t Ð DisReg pa, b, Nq Ź fonction retournant la discrétisation régulière...

3:

h Ð pb ´ aq{N

4:

V p1q Ð pfptp2qq ´ f ptp1qq{h

5:

Pour i “ 2 à N faire

6:

V piq Ð pf ptpi ` 1qq ´ f ptpiqqq{h

7:

Fin Pour

8:

V pN ` 1q Ð pf ptpN ` 1qq ´ f ptpNqq{h

9:

Fin Fonction

Q. 2 1. Du lemme 2.5, on a la formule centrée d'ordre 2 f pt ` hq ´ f pt ´ hq

2h “ f

1

ptq ` Oph

2

q.

(21)

2. Dérivation numérique 2.0. 2.0.0 Exercices 17

On va utiliser cette formule en t “ t

n

. On note que la formule n'est pas utilisable en t “ t

N

“ b et

1

t “ t

0

“ a. On obtient

2

f

1

pt

n

q “ f pt

n`1

q ´ f pt

n´1

q

2h ` Oph

2

q, @nw0, Nv. (2.18)

Il reste donc à établir une formule progressive en t

0

d'ordre 2 (i.e. une formule utilisant les points

3

t

0

, t

1

, t

2

, ...) et une formule régressive en t

N

d'ordre 2 (i.e. une formule utilisant les points t

N

,

4

t

N´1

, t

N´2

, ...).

5

De manière générique pour établir une formule progressive en t d'ordre 2 approchant f

1

ptq, on écrit

6

les deux formules de Taylor aux points t ` h et t ` 2h :

7

‚ il existe ξ

1

Pst, t ` hr tel que

8

f pt ` hq “ f ptq ` hf

1

ptq ` h

2

2! f

p2q

ptq ` h

3

3! f

p3q

1

q, (2.19)

‚ il existe ξ

2

Pst, t ` 2hr tel que

9

fpt ` 2hq “ f ptq ` p2hqf

1

ptq ` p2hq

2

2! f

p2q

ptq ` p2hq

3

3! f

p3q

2

q. (2.20) L'objectif étant d'obtenir une formule d'ordre 2 en t pour approcher f

1

ptq, on va éliminer les

10

termes en f

p2q

ptq en eectuant la combinaison 4 ˆ (2.19) ´ (2.20) . On obtient alors

11

4f pt ` hq ´ f pt ` 2hq “ 3fptq ` 2hf

1

ptq ` 4 h

3

3! f

p3q

1

q ´ p2hq

3

3! f

p3q

2

q

et donc

12

f

1

ptq “ ´3f ptq ` 4f pt ` hq ´ fpt ` 2hq

2h ´ 4 h

2

3! f

p3q

1

q ` 2

3

h

2

3! f

p3q

2

q

“ ´3f ptq ` 4f pt ` hq ´ fpt ` 2hq

2h ` Oph

2

q

Cette dernière formule permet alors l'obtention d'une formule d'ordre 2 en t “ t

0

“ a :

13

f

1

pt

0

q “ ´3f pt

0

q ` 4f pt

1

q ´ f pt

2

q

2h ` Oph

2

q (2.21)

De la même manière pour établir une formule régressive en t d'ordre 2 approchant f

1

ptq, on écrit

14

les deux formules de Taylor aux points t ´ h et t ´ 2h :

15

‚ il existe ξ

1

Pst ´ h, tr tel que

16

f pt ´ hq “ f ptq ` p´hqf

1

ptq ` p´hq

2

2! f

p2q

ptq ` p´hq

3

3! f

p3q

1

q, (2.22)

‚ il existe ξ

2

Pst ´ 2h, tr tel que

17

f pt ´ 2hq “ f ptq ` p´2hqf

1

ptq ` p´2hq

2

2! f

p2q

ptq ` p´2hq

3

3! f

p3q

2

q. (2.23) L'objectif étant d'obtenir une formule d'ordre 2 en t pour approcher f

1

ptq, on va éliminer les

18

termes en f

p2q

ptq en eectuant la combinaison 4 ˆ (2.22) ´ (2.23) . On obtient alors

19

4f pt ´ hq ´ f pt ´ 2hq “ 3fptq ´ 2hf

1

ptq ´ 4 h

3

3! f

p3q

1

q ` p2hq

3

3! f

p3q

2

q

et donc

20

f

1

ptq “ 3f ptq ´ 4f pt ´ hq ` f pt ´ 2hq

2h ´ 4 h

2

3! f

p3q

1

q ` 2

3

h

2

3! f

p3q

2

q

“ 3f ptq ´ 4f pt ´ hq ` f pt ´ 2hq

2h ` Oph

2

q

Compiled on 2016/03/08 at 18:59:44

(22)

2. Dérivation numérique 2.0. 2.0.0 Exercices

Cette dernière formule permet alors l'obtention d'une formule d'ordre 2 en t “ t

N

“ b :

1

f

1

pt

N

q “ 3f pt

N

q ´ 4f pt

N´1

q ` f pt

N´2

q

2h ` Oph

2

q (2.24)

On peut alors construire le vecteur W W W en utilisant les formules (2.18), (2.21) et (2.24) : W

1def

“ ´3f pt

0

q ` 4f pt

1

q ´ f pt

2

q

2h “ f

1

pt

0

q ` Oph

2

q, formule progressive (2.21) W

N`1def

“ 3f pt

N

q ´ 4f pt

N´1

q ` f pt

N´2

q

2h “ f

1

pt

N

q ` Oph

2

q, formule régressive (2.24) et pour les points strictement intérieurs

W

ndef

“ fpt

n`1

q ´ f pt

n´1

q

2h “ f

1

pt

n

q ` Oph

2

q, formule centrée (2.18) avec n Pw0, Nv On obtient alors en fonction de F F F et h

W

1def

“ ´3F

1

` 4F

2

´ F

3

2h “ f

1

pt

0

q ` Oph

2

q

@n Pw0, Nv, W

ndef

“ F

n`1

´ F

n´1

2h “ f

1

pt

n

q ` Oph

2

q

W

N`1def

“ 3F

N`1

´ 4F

N

` F

N´1

2h “ f

1

pt

N

q ` Ophq.

2. La fonction algorithmique peut s'écrire sous la forme :

2

Algorithme 2.3 Calcul de dérivées d'ordre 2 Données : F F F : vecteur de R

N`1

.

h : nombre réel strictement positif.

Résultat : W W W : vecteur de R

N`1

.

1:

Fonction W W W Ð DeriveOrdre2 ( h, F F F )

2:

W p1q Ð p´3 ˚ F p1q ` 4 ˚ Fp2q ´ Fp3qq{p2 ˚ hq

3:

Pour i “ 2 à N faire

4:

W piq Ð pFpi ` 1q ´ F pi ´ 1qq{p2 ˚ hq

5:

Fin Pour

6:

W pN ` 1q Ð p3 ˚ F pN ` 1q ´ 4 ˚ FpN q ` F pN ´ 1qq{p2 ˚ hq

7:

Fin Fonction

D'autres façons de présenter le problème sont possibles mais les données peuvent diérer de celles de

3

l'énoncé. Par exemple une autre fonction algorithmique pourrait être

4

Algorithme 2.4 Calcul de dérivées d'ordre 2 Données : f : f : ra, bs ÝÑ R

a, b : deux réels, a ă b ,

N : nombre de pas de discrétisation

Résultat : W W W : vecteur de R

N`1

tel que W

n`1

“ f

1

pt

n

q ` Oph

2

q avec pt

n

q

Nn“0

discrétisation régulière de ra, bs.

1:

Fonction W W W Ð DeriveOrdre2 ( f, a, b, N )

2:

t Ð DisReg pa, b, Nq Ź fonction retournant la discrétisation régulière...

3:

h Ð pb ´ aq{N

4:

W p1q Ð p´3 ˚ f ptp1qq ` 4 ˚ f ptp2qq ´ f ptp3qqq{p2 ˚ hq

5:

Pour i “ 2 à N faire

6:

W piq Ð pf ptpi ` 1qq ´ f ptpi ´ 1qqq{p2 ˚ hq

7:

Fin Pour

8:

W pN ` 1q Ð p3 ˚ f ptpN ` 1qq ´ 4 ˚ f ptpN qq ` f ptpN ´ 1qqq{p2 ˚ hq

9:

Fin Fonction

(23)

2. Dérivation numérique 2.0. 2.0.0 Exercices 19

˛

1 2

Pour illustrer l'intéret de monter en ordre, on représente en Figure 2.2 les dérivées numériques calculées

3

avec les fonctions DeriveOrdre1 et DeriveOrdre2 . On peut noter visuellement la meilleur concordance

4

de la dérivée numérique d'ordre 2 sur la gure de gauche. Sur celle de droite, c'est moins clair car les

5

diérentes courbes sont presque confondues.

6

0 1 2 3 4 5 6 7

x -1

-0.5 0 0.5 1 1.5

y

h=2π/10

y=f'(x) DeriveOrdre1 DeriveOrdre2

0 1 2 3 4 5 6 7

x -1

-0.5 0 0.5 1 1.5

y

h=2π/100

y=f'(x) DeriveOrdre1 DeriveOrdre2

Figure 2.2: Représentation des dérivées numériques avec f pxq :“ sinpxq, a “ 0, b “ 2π. A gauche h “

10

, à droite h “

100

.

Pour une meilleur interprétation et connaissant la dérivée de la fonction, on représente en Figure 2.3

7

les erreurs entre les dérivées numériques et la dérivée exacte.

8

‚ Pour la dérivée d'ordre 1, l'erreur maximale pour h “

10

est d'environ 0.3 et pour h “

100

d'environ

9

0.03 : le pas h a été divisé par 10 et comme la méthode est d'odre 1 l'erreur, qui est en Ophq, est

10

aussi divisée par 10.

11

‚ Pour la dérivée d'ordre 2, l'erreur maximale pour h “

10

est d'environ 0.1 et pour h “

100

d'environ

12

0.001 : le pas h a été divisé par 10 et comme la méthode est d'ordre 2 l'erreur, qui est en Oph

2

q,

13

est divisée par 100 !

14

0 1 2 3 4 5 6 7

x 0.05

0.1 0.15 0.2 0.25 0.3 0.35

error

Erreur DeriveOrdre1 : h=2 π/10

0 1 2 3 4 5 6 7

x 0

0.02 0.04 0.06 0.08 0.1 0.12

error

Erreur DeriveOrdre2 : h=2 π/10

0 1 2 3 4 5 6 7

x 0

0.01 0.02 0.03 0.04

error

Erreur DeriveOrdre1 : h=2 π/100

0 1 2 3 4 5 6 7

x 0

0.5 1 1.5

error

×10-3 Erreur DeriveOrdre2 : h=2 π/100

Figure 2.3: Erreur des dérivées numériques numériques avec f pxq :“ sinpxq, a “ 0, b “ 2π. A gauche h “

10

, à droite h “

100

.

La Figure 2.4 en échelle logarithmique permet de se rendre compte graphiquement de l'intéret de

15

monter en ordre.

16

Compiled on 2016/03/08 at 18:59:44

(24)

2. Dérivation numérique 2.0. 2.0.0 Exercices

10-3 10-2 10-1

h 10-5

10-4 10-3 10-2 10-1

Erreur

ordres des methodes de dérivation

DeriveOrdre1 (0.99986) DeriveOrdre2 (1.99941) O(h)

O(h2)

Figure 2.4: Dérivation numérique : mise en évidence de l'ordre des méthodes

(25)

3

Chapitre 3

Introduction à la résolution d'E.D.O.

1

3.1 Introduction

2

Les équations diérentielles ordinaires ou E.D.O.

˚

sont utilisées pour modéliser un grand nombre de

3

phénomènes mécaniques, physiques, chimiques, biologiques, ...

4

Denition 3.1

On appelle équation diérentielle ordinaire (E.D.O.) d'ordre p une équation de la forme : F pt, y y yptq, y y y

p1q

ptq, y y y

p2q

ptq, . . . , y y y

ppq

ptqq “ 0.

5

Denition 3.2

On appelle forme canonique d'une E.D.O. une expression du type :

y y y

ppq

ptq “ G G Gpt, y y yptq, y y y

p1q

ptq, y y y

p2q

ptq, . . . , y y y

pp´1q

ptqq. (3.1)

6

Proposition 3.3

Toute équation diérentielle d'ordre p sous forme canonique peut s'écrire comme un système de p

équations diérentielles d'ordre 1.

7

3.1.1 Exemple en météorologie : modèle de Lorentz

8

Mathématiquement, le couplage de l'atmosphère avec l'océan est décrit par le système d'équations aux

9

dérivées partielles couplées de Navier-Stokes de la mécanique des uides. Ce système d'équations était

10

beaucoup trop compliqué à résoudre numériquement pour les premiers ordinateurs existant au temps

11

˚En anglais, ordinary dierential equations ou O.D.E.

(26)

3. Intro duction à la résolution d'E.D.O. 3.1. Intro duction 3.1. 1 Exemple en météo rologie : mo dèle de Lo rentz

de Lorenz. Celui-ci eut donc l'idée de chercher un modèle très simplié de ces équations pour étudier

1

une situation physique particulière : le phénomène de convection de Rayleigh-Bénard. Il aboutit alors à

2

un système dynamique diérentiel possédant seulement trois degrés de liberté, beaucoup plus simple à

3

intégrer numériquement que les équations de départ.

4

(a) Edward Norton Lorenz 1917-2008, Mathématicien et météorologiste améri- cain

$

&

%

x

1

ptq “ ´σxptq ` σyptq

y

1

ptq “ ´xptqzptq ` ρxptq ´ yptq z

1

ptq “ xptqyptq ´ βzptq

(3.2)

avec σ “ 10, ρ “ 28, β “ 8{3 et les données initales xp0q “ ´8, yp0q “ 8 et zp0q “ ρ´1. C'est un système de trois E.D.O. d'ordre 1.

Dans ces équations, σ , ρ et β sont trois paramètres réels.

5

xptq est proportionnel à l'intensité du mouvement de convection, yptq est proportionnel à la diérence

6

de température entre les courants ascendants et descendants, et zptq est proportionnel à l'écart du prol

7

de température vertical par rapport à un prol linéaire (Lorenz 1963 p.135).

8

Pour illustrer le caractère chaotique de ce système diérentiel, on le résoud numériquement avec

9

les données initiales exactes (courbe bleue de la gure 3.2) et avec la donnée initiale xp0q perturbée :

10

xp0q “ ´8 ` 1e ´ 4 (courbe rouge de la gure 3.2). Une très légère variation des données initiales

11

engendrent de très forte variation de la solution.

12

0 10 20 30 40 50 60 70 80 90 100

−20

−15

−10

−5 0 5 10 15 20

x(t)

t Modele de Lorentz

0 10 20 30 40 50 60 70 80 90 100

−30

−20

−10 0 10 20 30

y(t)

t

0 10 20 30 40 50 60 70 80 90 100

0 10 20 30 40 50

z(t)

t

Figure 3.2: Illustration du caractère chaotique du modèle de Lorenz : donnée initiale courbe bleue xp0q “ ´8, yp0q “ 8, zp0q “ 27, courbe rouge xp0q “ ´8 ` 1e ´ 4, yp0q “ 8, zp0q “ 27.

En représentant, en Figure 3.3, la courbe paramétré pxptq, yptq, zptqq dans l'espace, on obtient l'attracteur

13

étrange de Lorenz en forme d'aile de papillon.

14

Références

Documents relatifs

C Résolution de problème • Robotine réalise un collier

A Calcul • Calcule les sommes et colorie les étiquettes selon le code couleur.. B Géométrie • Reproduis

C Résolution de problème • Robotine partage équitablement les 20 friandises entre ses

[r]

Robotine a deux fois plus de billes

A Calcul • Colorie les résultats qui sont dans la table de multiplication du 8.. B Numération • Écris le nombre qui correspond à

[r]

[r]