38
Traitement numérique des données Pierre Héroux Université de Rouen

Cours de Méthodes Numerique

Embed Size (px)

DESCRIPTION

cours de element methode univesité ibn tofail (prof:abu shabaka) (etudiant: fatima zara motia)

Citation preview

Page 1: Cours de Méthodes Numerique

Traitement numérique des données

Pierre HérouxUniversité de Rouen

Page 2: Cours de Méthodes Numerique

2 TABLE DES MATIÈRES

Table des matières

1 Représentation des données numériques 31.1 Nombres entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31.2 Nombres réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3

1.2.1 Virgule flottante binaire . . . . . . . . . . . . . . . . . . . 31.2.2 Capacité (en valeur absolue) . . . . . . . . . . . . . . . . 41.2.3 Précision . . . . . . . . . . . . . . . . . . . . . . . . . . . 41.2.4 Principe des opérations en virgule flottante . . . . . . . . 4

2 Rappels d’algorithmique 62.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 Théorème de structure . . . . . . . . . . . . . . . . . . . . . . . . 6

2.2.1 La simple séquence d’instruction . . . . . . . . . . . . . . 62.2.2 L’itération canonique . . . . . . . . . . . . . . . . . . . . . 62.2.3 La structure alternative . . . . . . . . . . . . . . . . . . . 6

2.3 Notion de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72.4 L’opération d’affectation . . . . . . . . . . . . . . . . . . . . . . . 72.5 Exercice :Calcul du PGCD de deux entiers M et N . . . . . . . . 72.6 Extension aux autres instructions de base . . . . . . . . . . . . . 7

2.6.1 Instruction de répétition . . . . . . . . . . . . . . . . . . . 72.6.2 Boucle pour . . . . . . . . . . . . . . . . . . . . . . . . . 72.6.3 Extension de l’alternative :l’aiguillage . . . . . . . . . . . . 82.6.4 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Programmation des séries 93.1 Première approche . . . . . . . . . . . . . . . . . . . . . . . . . . 93.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93.3 À faire en travaux pratiques . . . . . . . . . . . . . . . . . . . . . 103.4 Principe de programmation des séries . . . . . . . . . . . . . . . 103.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10

3.5.1 Série de Leibnitz . . . . . . . . . . . . . . . . . . . . . . . 103.5.2 Autres résultats . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Résolution d’équations 134.1 Équation du type f(x) = 0 . . . . . . . . . . . . . . . . . . . . . 13

4.1.1 Méthode de dichotomie . . . . . . . . . . . . . . . . . . . 134.1.2 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . 13

4.2 Équation du type f(x) = x - Méthode du point fixe . . . . . . . . 144.2.1 Principe de la méthode . . . . . . . . . . . . . . . . . . . 14

Page 3: Cours de Méthodes Numerique

TABLE DES MATIÈRES 3

4.2.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . 144.2.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5 Interpolation polynomiale 165.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 165.2 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . 165.3 Polynôme de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 175.4 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 175.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 195.6 Deux algorithmes de calcul . . . . . . . . . . . . . . . . . . . . . 19

5.6.1 Algorithme d’Aitken . . . . . . . . . . . . . . . . . . . . . 195.6.2 Méthode barycentrique . . . . . . . . . . . . . . . . . . . 20

6 Intégration 226.1 Méthode des rectangles médians . . . . . . . . . . . . . . . . . . 226.2 Méthode des trapèzes . . . . . . . . . . . . . . . . . . . . . . . . 236.3 Méthode de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . 24

7 Résolution des systèmes linéaires 277.1 Méthodes directes . . . . . . . . . . . . . . . . . . . . . . . . . . 27

7.1.1 Méthodes de Cramer . . . . . . . . . . . . . . . . . . . . . 277.1.2 Méthodes de Gauss . . . . . . . . . . . . . . . . . . . . . . 27

7.2 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . 297.2.1 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . 297.2.2 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . 30

8 Méthode des moindres carrés 318.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . 318.2 Critère des moindres carrés . . . . . . . . . . . . . . . . . . . . . 318.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

9 Résolution numériques des équations différentielles 339.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . 339.2 Méthode d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . 339.3 Méthode de Runge-Kutta à pas unique . . . . . . . . . . . . . . . 34

9.3.1 Méthode de Runge-Kutta à l’ordre 2 . . . . . . . . . . . . 349.3.2 Méthode de Runge-Kutta à l’ordre 4 . . . . . . . . . . . . 35

9.4 Formules d’Adams ouvertes . . . . . . . . . . . . . . . . . . . . . 359.4.1 Formules d’Adams à l’ordre 1 . . . . . . . . . . . . . . . . 359.4.2 Formules d’Adams à l’ordre 2 . . . . . . . . . . . . . . . . 369.4.3 Formules d’Adams d’ordre plus élevé . . . . . . . . . . . . 36

Page 4: Cours de Méthodes Numerique

4 CHAPITRE 1. REPRÉSENTATION DES DONNÉES NUMÉRIQUES

Chapitre 1

Représentation des donnéesnumériques

1.1 Nombres entiers

Un entier est codé par défaut sur un mot machine, le plus souvent sur 32bits, dont un bit de signe. Lorsque le bit de signe vaut 0, l’entier représenté estun nombre positif ou nul. Quand le bit de signe est à 1, l’entier est négatif. Pourun entier positif ou nul, sa représentation est binaire pure (avec le bit de signeà 0).ExempleLa représentation en machine de l’entier +5 est la suivante :s 31 bits0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1

Conséquence : le plus grand entier représentable est 231 − 1.Pour les entier négatifs, la représentation la plus couramment employée uti-

lise une convention de complémentation. En conséquence, la plus petit entierreprésentable est −231. Les entiers machine signés représentent donc la partiede l’ensemble Z des entiers relatifs allant de −231 à 231 − 1.

La représentation est exacte et toutes les règles de l’arithmétique entière sontrespectées à condition que les résultats appartiennent au domaine des nombresentiers représentables en machine.

1.2 Nombres réels

Soit X un nombre quelconque. Il est toujours possible d’écrire X = m.2e.Il existe une infinité de couples (m,e) vérifiant cette équation. m est appelé lamantisse et e est appelé l’exposant (e est entier).Exemplex = 5 peut s’écrire x = 5.20, x = 2,5.21, x = 10.2−1, . . .

1.2.1 Virgule flottante binaire

Parmi tous les couples (m,e), un seul possède la caractéristique suivante :

Page 5: Cours de Méthodes Numerique

1.2. NOMBRES RÉELS 5

12≤ m < 1

On a alors une virgule flottante dite normalisée. Un réel machine simpleprécision est codé sur 32 bits en virgule flottante normalisée. La mantisse occupe24 bits et l’exposant occupe 8 bits.

1.2.2 Capacité (en valeur absolue)

Xmax ' 2127 ' 1038

Xmin = 0,5.2−128 ' 10−39

1.2.3 Précision

2−23 ' 10−7. Ceci implique que les réels machines sont donnés avec 7 chiffressignificatifs.

– Ces réels machine sont en fait des éléments de l’ensemble Q des nombresrationnels.

– L’écart relatif entre 2 réels consécutifs, lorsque l’exposant est égal pour lesdeux, vaut 2−23. En revanche, l’écart absolu entre deux réels consécutifsdépend de la valeur de l’exposant.

Soient X et XS deux réels dont les représentations en machine sont exacteset consécutives. Soient y et z deux nombres proches de X+XS

2 tels que y < X+XS

2

et z > X+XS

2 . En machine, y est représenté par X et z par XS . Le calcul dez − y donnera XS −X alors qu’il devrait tendre vers 0.

– En arithmétique réelle, en machine, compte-tenu des arrondis et autresopérations dues aux problèmes de représentations, on a aucune chance detrouver un résultat égal à une valeur donnée. Ainsi, on prendra garde dene jamais tester l’égalité d’un résultat issu de l’arithmétique réelle avecune valeur donnée. On préférera comparer l’écart (absolu ou relatif) de cerésultat à la valeur à ε (souvent pris égal à 10−6 ou 10−7).

– Il convient d’être prudent car les règles de l’arithmétique classique ne sontplus respectées.

1.2.4 Principe des opérations en virgule flottante

Soient deux nombres flottants X1 = m12e1 et X2 = m12e2 .

Multiplication

X1.X2 = m1m22e1+e2

Pour effectuer la multiplication X1.X2, on procède au produit des mantisseset à la somme des exposants. Si la mantisse résultat est inférieure à 0,5, oneffectue un recadrage en décalant la mantisse d’un position vers la gauche et endiminuant l’exposant d’une unité.

Page 6: Cours de Méthodes Numerique

6 CHAPITRE 1. REPRÉSENTATION DES DONNÉES NUMÉRIQUES

Addition

L’addition X1+X2 n’est possible au niveau des mantisses que si les exposantsont égaux (e1 = e2).

– Si e1 = e2, on ajoute m1 et m2. Le résultat donne une mantisse supérieureà 1. Il faut donc effectuer un recadrage en décalant la mantisse vers ladroit et en augmentant l’exposant d’une unité.

– Si e1 6= e2, on aligne min(e1,e2) sur max(e1,e2) et on décale la mantissedu nombre le plus faible en valeur absolue de |e1 − e2| bits vers la droite.Cette opération entraîne une perte de précision car des bits sont perdulors du décalage. Les exposants sont maintenant égaux, il ne reste plusqu’à additionner les mantisses et à effectuer le recalage.

ExempleSoient X1 = 3,875 et X2 = 12,25. On utilise une représentation sur 12 bits, lamantisse étant codée sur 8bits dont un bit de signe et l’exposant étant codé sur4 bits.

X1 = (11,111)2 = (0,11111)2.22

X2 = (1100,01)2 = (0,110001)2.24

L’exposant de X2 est plus grand que celui X1. Il faut donc dénormaliser X1

en décalant sa mantisse de 2 positions vers la droite.L’addition se présente comme suit :s 2−1 2−2 2−3 2−4 2−5 2−6 2−7 exposant0 0 0 1 1 1 1 1 0 1 0 00 1 1 0 0 0 1 0 0 1 0 01 0 0 0 0 0 0 1 0 1 0 0

Le bit de report signale que la mantisse est supérieure à 1. Il faut recadrerle résultat en décalant la mantisse d’une position vers la droite (perte d’un bità 1) et en augmentant l’exposant d’une unité, d’où le résultat :

0 1 0 0 0 0 0 0 0 1 0 1Multiplication X1.X2

La multiplication des mantisses est illustrée si dessous :1 1 1 1 1 0 01 1 0 0 0 1 0

1 1 1 1 1 0 01 1 1 1 1 0 0

1 1 1 1 1 0 01 0 1 1 1 1 0 1 1 1 1 0 0 0

De cette multiplication, on ne conserve que les bits les plus significatifs, cequi fait que 7 bits de poids faible sont perdus. Là encore, l’arithmétique n’estpas respectée.

L’addition des exposants donne e1 + e2 = 6 = (110)2.Parmi les bits éliminés lors de la multiplication des mantisses, celui dont le

poids est le plus fort est un 1. Pour l’arrondi, on ajoutera 1 en septième positionde la mantisse, d’où le résultat final :

0 1 0 1 1 1 1 1 0 1 1 0Ce nombre en virgule flottant représente 47,5 alors que le résultat exact du

produit vaut 47,46 875.

Page 7: Cours de Méthodes Numerique

7

Chapitre 2

Rappels d’algorithmique

2.1 AlgorithmeUn algorithme est une suite finie d’instructions élémentaires constituant le

schéma de résolution d’un problème.Les données sont initialisées par des instructions d’entrée (Lire). Les résultats

sont restitués par des instruction de sortie (Écrire).

2.2 Théorème de structureTout programme linéaire peut s’exprimer à l’aide de trois seules instructions

de base plus celles relatives au entrée/sortie. Les trois instructions sont :– la simple séquence ;– l’itération canonique ;– la structure alternative.

2.2.1 La simple séquence d’instruction

Si S1 et S2 sont deux blocs d’instructions, la séquentialité de S1;S2 signifieque le bloc d’instruction S1 sera exécuté et immédiatement suivi de l’exécutiondu bloc S2.

2.2.2 L’itération canonique

Soient α une proposition logique (à valeur booléenne) et S une suite d’ins-tructions. L’itération canonique se traduit par la formule :

tant que α faire S

2.2.3 La structure alternative

Soient α une proposition logique, S1 et S2 deux blocs d’instructions. Lastructure alternative s’exprime par :

si α alors S1 sinon S2

NB : Si le bloc d’instruction S2 est vide, l’alternative se simplifie par :si α alors S1

Page 8: Cours de Méthodes Numerique

8 CHAPITRE 2. RAPPELS D’ALGORITHMIQUE

2.3 Notion de blocUn bloc d’instructions est une suite d’instructions dépendant d’un même

mot-clé. On le délimite par les mots début et fin . Lorsqu’un bloc est vide ou s’iln’est composé que d’une seule instruction, les mots début et fin sont facultatifs.

2.4 L’opération d’affectationL’opération d’affectation a un rôle essentiel car c’est l’opération qui permet

de modifier les valeurs des variables contenues en mémoire. Elle est symboliséepar←. Ainsi, on note l’incrémentation de la valeur d’une variable i d’une unité :i← i + 1.

L’affectation est toujours de la forme :

nom_identificateur_de_variable← expression

2.5 Exercice : Calcul du PGCD de deux entiersM et N

Le PGCD s’obtient par l’algorithme d’Euclide dont le principe est le suivant.On divise M par N . Si N est diviseur de M alors N est le PGCD et l’algorithmeest terminé. Dans le cas contraire, on donne à M la valeur de N , puis on donne àN la valeur du reste de la division précédente et on recommence à le processus.

2.6 Extension aux autres instructions de base

2.6.1 Instruction de répétitionOn trouve dans certains langages des structures telles que faire (ou répéter)

S tant que α. Cette instruction est équivalente à S ; tant que α faire Sfaire (ou répéter) S jusqu’à α est équivalente à S ; tant que non α faire S

2.6.2 Boucle pour

Soient i une variable de type entier et α une condition dans laquelle i inter-vient sous la forme d’une limite à ne pas dépasser (par exemple i ≤ n, où n estune valeur définie).

La séquence qui suit peut s’exprimer par une boucle pour.i← 1tant que i ≤ n fairedébut

S /* S est une suite d’instructions quelconque */i← i + 1

finLa boucle pour correspondante est la suivante :

pour i variant de 1 à n par pas de 1 faire Si est appelé indice de boucle. Lorsque le pas vaut 1, il est possible de ne

pas le préciser. Les valeurs initiale et finale de l’indice de boucle peuvent bienentendu être modifiées.

Page 9: Cours de Méthodes Numerique

2.6. EXTENSION AUX AUTRES INSTRUCTIONS DE BASE 9

2.6.3 Extension de l’alternative : l’aiguillageL’aiguillage est équivalent à une suite d’instruction alternatives en cascade.

Soient ch une expression, V1, . . . ,Vn des valeurs constantes du même type quech, et S1, . . . ,Sn,Sd sont des blocs d’instructions.selon la valeur de ch

V1 faire S1...Vn faire Sn

par défaut faire Sd

2.6.4 ExerciceUn nombre est dit parfait s’il est égal à la somme de ses diviseurs (1 compris

et lui-même exclus). Les nombres qui possèdent cette propriété sont très rares.Écrire un algorithme qui affiche tous les nombre parfaits compris entre 2 et10 000. On admettra que tous les nombres parfaits sont pairs.

Page 10: Cours de Méthodes Numerique

10 CHAPITRE 3. PROGRAMMATION DES SÉRIES

Chapitre 3

Programmation des séries

ExempleOn veut obtenir une table de la fonction cos(x) pour x variant de 0 à π par pasde π

12 en utilisant la formule :

cos(x) = 1− x2

2!+

x4

4!+ · · ·+ (−1)p x2p

(2p)!+ · · · =

∞∑p=0

(−1)p x2p

(2p)!

La précision souhaitée est 10−6.

3.1 Première approcheL’énoncé impose une boucle.

pour x variant de 0 à π par pas de π12 faire

débutCalculer cos(x) à 10−6 près par la formuleÉcrire x et la valeur calculée e cos(x)

finSoit tp = (−1)p x2p

(2p)! . Le calcul de tp à chaque itération serait d’une extrêmemaladresse car beaucoup trop coûteux en temps de calcul. Faisons apparaîtreune récurrence. {

tp = (−1)p x2p

(2p)!

tp−1 = (−1)p−1 x2p−2

(2p−2)!

tp = tp−1x2

(2p− 1)(2p)avec t0 = 1 et p ≥ 1

3.2 Algorithmex réelp entier : rang du terme calculét réel : terme calculés réel : somme de terme jusqu’au rang p

Page 11: Cours de Méthodes Numerique

3.3. À FAIRE EN TRAVAUX PRATIQUES 11

débutpour x variant de 0 à π par pas de π

12 fairedébut

x2 ← x ∗ xp← 0s← 1t← 1tant que précision non atteinte fairedébut

p← p + 1t← −t x2

(2p−1)(2p)s← s + t

finÉcrire x et s

finfin

On prendra comme condition relative à la précision∣∣ ts > 10−6

∣∣.3.3 À faire en travaux pratiques

Programmer cet algorithme.Modifier cet algorithme de telle sorte qu’il effectue une tabulation de cos(x)

pour x variant de 0 à π par pas de πn où n est un entier strictement positif saisi

par l’utilisateur.Que constate-t-on pour certaines valeurs de n?Quelle est la cause de l’anomalie mise en évidence?Comment y remédier de façon rigoureuse?Reprogrammer l’algorithme en conséquence?

3.4 Principe de programmation des sériesPour programmer une série, si le terme général est très simple, on peut le

calculer directement, sinon, il faut essayer de faire apparaître une récurrence.Parmi les variables figurent généralement le terme calculé, la somme des termeet le rang du terme courant. Il peut également y avoir une variable représentantle signe du terme au rang considéré. Les termes sont calculés et ajoutés à lasomme jusqu’à ce que la précision soit atteinte.

3.5 Exercices

3.5.1 Série de Leibnitz

π

4= 1− 1

3+

15− 1

7+ · · · =

∞∑n=0

(−1)n 12n + 1

Cette série converge très lentement.Programmer le calcul de cette série à 10−6 près.

Page 12: Cours de Méthodes Numerique

12 CHAPITRE 3. PROGRAMMATION DES SÉRIES

Pour cette série, le terme est simple. On procède donc au calcul dirent duterme avec une variable auxiliaire représentant le signe.

On peut appliquer à cette série des techniques de convergence, par exemple :

π

4=

(1− 1

3

)+

(15− 1

7

)+ · · ·

=∞∑

n=0

(1

4n + 1− 1

4n + 3

)

=∞∑

n=0

2(4n + 1)(4n + 3)

(3.1)

Programmer cette série et donnez la valeur de n correspondant à une préci-sion de 10−6.

On peut également appliquer la formule suivante :

π

4= 1−

(13− 1

5

)−

(17− 1

9

)− · · ·

= 1−∞∑

n=0

(1

4n + 3− 1

4n + 5

)

= 1−∞∑

n=0

2(4n + 3)(4n + 5)

(3.2)

On peut également sommer les équations (3.1) et (3.2) pour calculer π2 .

π

2= 1 +

∞∑n=0

(2

(4n + 1)(4n + 3)− 2

(4n + 3)(4n + 5)

)

= 1 + 2∞∑

n=0

4(4n + 1)(4n + 3)(4n + 5)

= 1 + 8∞∑

n=0

1(4n + 1)(4n + 3)(4n + 5)

3.5.2 Autres résultats

π2

6=

∞∑n=1

1n2

π4

90=

∞∑n=1

1n4

π6

945=

∞∑n=1

1n6

Les produits suivants donnent également des approximations de π.

Page 13: Cours de Méthodes Numerique

3.5. EXERCICES 13

π

2=

21

23

43

45

65

67

87

89· · · =

∞∏n=1

4n2

(2n− 1)(2n + 1)

=√

22

√2 +√

22

√2 +

√2 +√

22

Page 14: Cours de Méthodes Numerique

14 CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS

Chapitre 4

Méthodes usuelles derésolution d’équations

4.1 Équation du type f(x) = 0

4.1.1 Méthode de dichotomie

Hypothèse : la fonction f est connue par son expression mathématique. Elleest définie et continue sur [a,b], intervalle donné. f possède une racine uniqueappartenant à ]a,b[ et s’annule en changeant de signe.

Principe de la méthode

On se place au point d’abscisse x = a+b2 et on cherche à quel demi-intervalle

[a,x] ou [x,b] appartient la racine. On restreint alors l’intervalle de rechercheau demi-intervalle déterminé lors de l’étape précédente et on recommence lemême processus jusqu’à obtention d’un encadrement suffisamment restreint dela racine.

Donner l’algorithme de cette méthode.On choisira de préférence pour l’arrêt des itérations un test relatif, par

exemple,∣∣x−a

a

∣∣ < ε, plutôt écrit |x− a| < ε |a| afin d’éviter la division parzéro.

Remarque : la méthode de dichotomie est de convergence lente.Appliquer la méthode de dichotomie à f(x) = e−

x10 − x sur l’intervalle [0,1].

Vérification des hypothèses : f est monotone décroissante sur [0,1]. f(0) = 1et f(1) < 0. Ceci implique que f a une racine unique sur l’intervalle [0,1].

4.1.2 Méthode de Newton

Hypothèses : f et f ′ sont connues par leur expression mathématique. Ellessont définies partout sur l’intervalle d’étude. Soit x0 donné.

Principe de la méthode

On mène la tangente à la courbe y = f(x) au point d’abscisse x0. Cettetangente coupe l’axe des abscisses au point d’abscisse x1. En x1, on recommence

Page 15: Cours de Méthodes Numerique

4.2. ÉQUATION DU TYPE F (X) = X - MÉTHODE DU POINT FIXE 15

le même processus, on obtient le point x2 et ainsi de suite. Ainsi, on construitune suite xi qui, dans de bonnes conditions, converge rapidement vers la racinecherchée.

Recherchons la relation liant xi+1 à xi.

tan(α) = f ′(xi)tan(α) = f(xi)

xi−xi+1

}⇒ xi+1 = xi −

f(xi)f ′(xi)

Conséquence : f ′ ne doit pas s’annuler en un point xi.Il faut être vigilant dans le choix de x0. En effet, la tangente de la courbe en

xi doit couper l’axe des abscisses dans le domaine de définition de la fonction fet dans la partie continue contenant la racine recherchée.

Généralement, on choisit x0 pas trop éloigné de la racine cherchée.

Algorithme

À chercher.

4.2 Équation du type f(x) = x - Méthode dupoint fixe

Hypothèse : f est définie partout sur l’intervalle d’étude.

4.2.1 Principe de la méthode

On construit une suite xi définie par xi = f(xi−1).La suite converge si et seulement si |f ′(r)| < 1 où r est la racine cherchée. r

est appelé le point fixe.La méthode, s’il y a convergence, est plus rapide que la dichotomie mais un

peu moins que la méthode de Newton.

4.2.2 Algorithme

À chercher

4.2.3 Exercice

On considère la fonction F définie par :

F (x) =13x3 − 2x2 + 3x− 5

2(4.1)

1. Par une étude analytique de F , montrer que l’équation

F (x) = 0 (4.2)

admet une racine unique a et montrer que celle-ci appartient à un intervalle]k,k + 1[ où k ∈ N.

Page 16: Cours de Méthodes Numerique

16 CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS

2. Montrer que l’équation (4.2) peut se mettre sous l’une quelconque desdeux formes suivantes :

x = f(x) où f(x) = −19x3 +

23x2 +

56

(4.3)

x = g(x) où g(x) =

√16x3 +

23x− 5

4(4.4)

Les méthodes d’approximation de la forme xn+1 = f(xn) et xn+1 = g(xn)convergent-t-elles?

3. Pour résoudre l’équation (4.2), on décide d’appliquer la méthode de New-ton à partir de x0 donné. Comment choisir x0 pour obtenir une conver-gence dans de bonnes conditions? Calculer x1, x2 et x3 avec quatre dé-cimales exactes ainsi que F (x3) dans les deux cas suivants : x0 = 5 etx0 = 2,5.

Page 17: Cours de Méthodes Numerique

17

Chapitre 5

Interpolation polynomiale

5.1 IntroductionSupposons connues n + 1 valeurs y0,y1,. . . ,yn correspondant aux n + 1 abs-

cisses x0,x1,. . . ,xn. Il peut s’agir, par exemple, de valeur relevées expérimenta-lement ou prises par un fonction f aux abscissesx0,x1,. . . ,xn.

Le procédé d’interpolation polynomiale consiste à construire un polynômeP de degré minimal prenant pour chaque valeur xi la valeur yi, donc tel queP (xi) = yi,∀i = 0,1, . . . ,n.

Ceci peut servir à obtenir de nouvelles valeurs calculées en d’autres abscisseset aussi à obtenir une expression analytique représentant la collection des va-leurs initiales. Ce second aspect est important car il est à la base des méthodesclassiques d’intégration.

5.2 Position du problèmeOn recherche un polynôme de degré minimal prenant aux points x0,x1,. . . ,xn

les valeurs y0,y1,. . . ,yn. Il y a n + 1 points, le polynôme recherché sera donc dedegré inférieur ou égal à n. Il y a donc n+1 coefficients a0,a1,. . . ,an à déterminerpour obtenir P (x) = a0 + a1x + · · ·+ anxn.En x0, on a a0 + a1x0 + · · ·+ anxn

0 = y0

En x1, on a a0 + a1x1 + · · ·+ anxn1 = y1

· · ·En x0, on a a0 + a1xn + · · ·+ anxn

n = yn

Ces n + 1 équations constituent un système linéaire de n + 1 équations àn + 1 inconnues.

xn0 xn−1

0 · · · x0 1xn

1 xn−11 · · · x1 1

......

......

...xn

n xn−1n · · · xn 1

︸ ︷︷ ︸

matrice carrée d’ordre n+1

an

an−1

...a0

︸ ︷︷ ︸inconnues

=

yn

yn−1

...y0

Ce système est mal conditionné. Les résolutions par les méthodes classiqueséchouent numériquement dès que n est un peu élevé.

Page 18: Cours de Méthodes Numerique

18 CHAPITRE 5. INTERPOLATION POLYNOMIALE

Une solution plus élégante est fournie par les polynômes de Lagrange.

5.3 Polynôme de Lagrange

Les polynômes de Lagrange construits sur les n + 1 abscisses x0,x1,. . . ,xn

sont les n+1 polynômes Li, de degré n, qui vérifient pour i et j entiers comprisentre 0 et n :

Li(xi) = 1,∀i = 0,1, . . . ,n

Li(xj) = 0,sij 6= i 0 ≤ j ≤ n

Li(x) =(x− x0)(x− x1) · · · (x− xi−1)(x− xi+1) · · · (x− xn)

(xi − x0)(xi − x1) · · · (xi − xi−1)(xi − xi+1) · · · (xi − xn)

Soit

Li(x) =n∏

j=0j 6=i

x− xj

xi − xj)

Ces n+1 polynômes Li, forment une base de l’espace des polynômes de degréinférieur ou égal à n. Dans cette base, le polynôme d’interpolation prenant auxpoints xi les valeurs yi (i ∈ N,0 ≤ i ≤ n) s’écrit :

P (x) = y0L0(x) + y1L1(x) + · · ·+ ynLn(x)

=n∑

i=0

yiLi(x)

Interprétation : quand on écrit le polynôme P cherché dans la base canonique1,x, . . . ,xn, les coefficients de P dans cette base sont solution du système linéairede n+1 équations à n+1 inconnues précédent (qu’on ne sait pas bien résoudrenumériquement). En revanche, les coefficients de P dans la base des polynômesde Lagrange sont les yi. En d’autres termes, le changement de base à diagonaliséla matrice du système.

5.4 Exemples

Soient 3 points de coordonnées (x0,y0), (x1,y1), (x2,y2), le polynôme d’in-terpolation de Lagrange P (x), basé sur les 3 abscisses x0, x1, x2.

Li(x) =n∏

j=0j 6=i

(x− xj)(xi − xj)

Donc :

Page 19: Cours de Méthodes Numerique

5.4. EXEMPLES 19

L0(x) =(x− x1)(x− x2)

(x0 − x1)(x0 − x2)

L1(x) =(x− x0)(x− x2)

(x1 − x0)(x1 − x2)

L2(x) =(x− x0)(x− x1)

(x2 − x0)(x2 − x1)

1. Déterminer P (x) dans le cas suivant

x0 = −1 x1 = 0 x2 = 1y0 = 1 y1 = 0 y2 = 2

Puisque y1 = 0, le calcul de L1 est inutile

L0(x) = (x−0)(x−1)(−1−0)(−1−1) = x(x−1)

2

L2(x) = (x+1)(x−0)(1+1)(1−0) = x(x+1)

2

P (x) =x(x− 1)

2+ 2

x(x + 1)2

=32x2 +

12x

2. Calcul de la valeur approchée de sin(

π5

)sachant que

sin(0) = 0

sin(π

6

)=

12

sin(π

4

)=√

22

Les abscisses de base sont 0, π6 et π

4 . Les valeurs de yi sont 0, 12 et

√2

2 .Puisque y0 = 0, le calcul de L0 est inutile.

L1(x) =(x−0)(x−π

4 )(π

6−0)(π6−

π4 ) =

x(x−π4 )

−π6

π12

L2(x) =(x−0)(x−π

6 )(π

4−0)(π4−

π6 ) =

x(x−π6 )

π4

π12

Or,

P (x) =12L1(x) +

√2

2L2(x)

Donc,

P (x) =x

(x− π

4

)−π

3π12

+

√2x

(x− π

6

)π2

π12

P(

π5

)est une valeur approchée de sin

(π5

).

Page 20: Cours de Méthodes Numerique

20 CHAPITRE 5. INTERPOLATION POLYNOMIALE

P(π

5

)=

15

(15 −

π4

)−π

3π12

+

√2 1

5

(15 −

π6

)π2

π12

=− 1

100

− 136

+√

21

150124

=925

+√

2425

' 0,58626

D’autre part,

sin(π

5

)' 0,5877

5.5 Exercices

1. Écrire le polynôme d’interpolation de Lagrange P (x) de la fonction cosinusaux points −π

2 , 0 et π2 . Calculer P

(π4

)et comparer le résultat à cos

(π4

).

2. Écrire le polynôme d’interpolation de Lagrange P (x) d’une fonction f ,construit sur les points−1,− 1

3 , 13 et 1. En déduire une expression approché

de sin(

π4

)par interpolation de la fonction

R → Rx 7→ f(x) = sin

(πx

2

)

5.6 Deux algorithmes de calcul

Rappel : On recherche les valeurs numériques prises par le polynôme d’in-terpolation en certains points et non son expression analytique. L’utilisationdirecte de la formule de Lagrange P (x) =

∑ni=0 yiLi(x) pour déterminer P (α)

nécessite le calcul pour chacun des polynômes Li des n fractions α−xj

xi−xjpuis

leur produit pour déterminer Li(α), enfin une multiplication yiLi(α). En négli-geant les additions dans le décompte des opérations, on aura pour chaque pointα(n + 1)2 multiplication et n(n + 1) divisions. On donne ici deux algorithmesplus intéressants.

5.6.1 Algorithme d’Aitken

Cet algorithme construit une suite de polynômes réalisant l’interpolation deLagrange sur un nombre de plus en plus élevé de points de base xj . Plus préci-sément, cet algorithme calcule P (α) en utilisant successivement les polynômesde degré 0,1, . . . ,n construits respectivement sur 1,2 . . . ,n + 1 points de base xj

parmi les abscisses xi données. Le calcul peut être présenté sous la forme d’untableau triangulaire.

Page 21: Cours de Méthodes Numerique

5.6. DEUX ALGORITHMES DE CALCUL 21

y0

y1 P1,1(α)y2 P2,1(α) P2,2(α)y3 P3,1(α) P3,2(α) P3,3(α)...

......

. . .yk Pk,1(α) Pk,2(α) · · · Pk,k(α)...

......

. . .yn Pn,1(α) Pn,2(α) · · · · · · Pn,n(α)

P1,1 réalise l’interpolation sur la base des points x0, x1

P2,1 réalise l’interpolation sur la base des points x0, x2

Pk,1 réalise l’interpolation sur la base des points x0, xk

Pn,1 réalise l’interpolation sur la base des points x0, xn

Pk,k réalise l’interpolation sur la base des points x0, x1,. . . ,xk−1,xk

Pn,k réalise l’interpolation sur la base des points x0, x1,. . . ,xk−1,xn

Pn,n réalise l’interpolation sur la base des points x0, x1,. . . ,xn−1,xn

Chaque colonne est déterminée à partir de la précédente par la formule

Pk,j+1(α) =(α− xj)Pk,j(α)− (α− xj)Pj,j(α)

xk − xj

On montre que pour obtenir Pn,n(α), polynôme réalisant l’interpolation deLagrange sur les n+1 points, il faut n(n+1) multiplications et n(n+1)

2 divisionspour chaque point α. Ceci ne représente pas un gain énorme par rapport aucalcul direct, cependant, on constate fréquemment qu’on obtient un résultatsatisfaisant pour un degré k inférieur à n et en s’arrêtant au calcul de Pk,k.

5.6.2 Méthode barycentrique

On montre que le polynôme d’interpolation de Lagrange peut s’écrire

P (x) =

∑ni=0 yi

Ai

x−xi∑ni=0

Ai

x−xi

avec

Ai =1

(xi − x0) · · · (xi − xi−1(xi − xi+1 · · · (xi − xn)

=1∏n

j=0j 6=i

(xi − xj)

=n∏

j=0j 6=i

1(xi − xj)

Le calcul de Ai nécessite n divisions et n multiplications en effectuant lecalcul par la dernière expression. Le calcul de P (alpha) nécessite donc (n + 1)2

multiplications et (n + 1)2 divisions. L’avantage de cette méthode ne se faitsentir que si on doit effectuer le calcul en plusieurs valeurs αk. En effet, le calculdes Ai est indépendant de α et sera donc effectué une fois pour toutes.

Page 22: Cours de Méthodes Numerique

22 CHAPITRE 5. INTERPOLATION POLYNOMIALE

Exercice

Écrire l’algorithme de cette méthode

Page 23: Cours de Méthodes Numerique

23

Chapitre 6

Intégration

Soit à calculer I =∫ b

af(x) dx, avec a et b réels donnés et f une fonction

réelle.

6.1 Méthode des rectangles médians

On subdivise l’intervalle [a,b] en n intervalle élémentaires de même amplitudeet on pose

h =b− a

n

Sur chaque intervalle élémentaire, on se place au milieu xm de l’intervalle eton interpole la fonction f par la droite d’équation y = f(xm).

Soient x0 = a et xn = b.Sur l’intervalle [xi,xi+1] on a xm = xi+xi+1

2 .Sur l’intervalle [x0,x1] on a xm = x0+x0+h

2 = x0 + h2 .

Sur l’intervalle [x1,x2] on a xm = x0+h+x0+2h2 = x0 + 3h

2 .Sur l’intervalle [xi,xi+1] on a xm = x0 + 2i+i

2 h.On a donc y = f

(x0 + 2i+i

2 h).

Sur l’intervalle [xi,xi+1], l’aire Ai du rectangle Ri est

Ai =∫ xi+1

xi

f

(x0 +

2i + i

2h

)dx

= f

(x0 +

2i + i

2h

)[x]xi+1

xi

= (xi+1 − xi)f(

x0 +2i + i

2h

)= hf

(x0 +

2i + i

2h

)I∗R =

∑n−1j=0 Ai est l’approximation de I par la méthode des rectangles mé-

dians.

Page 24: Cours de Méthodes Numerique

24 CHAPITRE 6. INTÉGRATION

I∗R =n−1∑j=0

hf

(x0 +

2i + i

2h

)

= hn−1∑j=0

f

(x0 +

2i + i

2h

)

= hn−1∑j=0

f

(a +

2i + i

2h

)

6.2 Méthode des trapèzes

L’intervalle [a,b] est subdivisé en n intervalles de même amplitude h = b−an .

On pose x0 = a et xn = b. Sur un intervalle [xi,xi+1] la fonction f est interpoléepar la droite passant par les points (xi,f(xi)) et (xi+1,f(xi+1)).

Soit Ai l’aire du trapèze Ti.

A0 =12

(f(x0) + f(x0 + h))h

A1 =12

(f(x0 + h) + f(x0 + 2h))h

......

An−1 =12

(f (x0 + (n− 1)h) + f(x0 + nh))h

Donc

Ai =12

(f (x0 + ih) + f (x0 + (i + 1)h))h, ∀i ∈ N,0 ≤ i < n

I∗T =∑n−1

j=0 Ai est l’approximation de I par la méthode des trapèzes.

I∗T =n−1∑j=0

Ai

=n−1∑j=0

12

(f (x0 + ih) + f (x0 + (i + 1)h))h

= h

[12f(x0) + f(x0 + h) + · · ·+ f (x0 + (n− 1)h) +

12f(x0 + nh)

]= h

[f(x0) + f(xn)

2+

n−1∑i=1

f(x0 + ih)

]

= h

[f(a) + f(b)

2+

n−1∑i=1

f(a + ih)

]

Page 25: Cours de Méthodes Numerique

6.3. MÉTHODE DE SIMPSON 25

6.3 Méthode de Simpson

On procède toujours de la même manière. [a,b] est subdivisé en n intervallesde même amplitude h = b−a

2 . On pose x0 = a et xn = b. Sur un intervalle[xi−1,xi+1] la fonction f est interpolée par la parabole passant par les points(xi−1,f(xi−1)), (xi,f(xi)) et (xi+1,f(xi+1)).

On travaille sur une suite d’intervalles d’amplitude 2h, ce qui implique quen doit être pair. On pose n = 2p.

Donnons tout d’abord l’équation de la parabole passant par les 3 points decoordonnées (xi−1,f(xi−1)), (xi,f(xi)) et (xi+1,f(xi+1)).

Écrivons les polynômes de Lagrange basés sur les abscisses xi−1, xi et xi+1.

L0(x) =(x− xi)(x− xi+1)

(xi−1 − xi)(xi−1 − xi+1)

=(x− xi)(x− xi+1)

2h2

=x2 − x(xi−1 + xi+1) + xixi+1

2h2

=x2 − x(2xi + h) + xi(xi + h)

2h2

L1(x) =(x− xi−1)(x− xi+1)(xi − xi−1)(xi − xi+1)

=(x− xi−1)(x− xi+1)

−h2

= −x2 − x(xi−1 + xi+1) + xi−1xi+1

h2

= −x2 − x(2xi) + x2i − h2

h2

L2(x) =(x− xi−1)(x− xi)

(xi+1 − xi−1)(xi+1 − xi)

=(x− xi−1)(x− xi)

2h2

=x2 − x(xi−1 + xi) + xixi−1

2h2

=x2 − x(2xi − h) + xi(xi − h)

2h2

La parabole Pi d’interpolation de f sur [xi−1,xi+1] a donc pour équation :

Pi = f(xi−1)L0(x) + f(xi)L1(x) + f(xi+1)L2(x)

Page 26: Cours de Méthodes Numerique

26 CHAPITRE 6. INTÉGRATION

α =1h2

(f(xi−1)

2− f(xi) +

f(xi+1)2

)β =

1h2

(−f(xi−1)

2(2xi + h) + 2xif(xi)−

f(xi+1)2

(2xi − h))

γ =1h2

(f(xi−1)

2xi(xi + h)− f(xi)(x2

i − h2)− f(xi+1)2

xi(xi − h))

Soient α le coefficient en x2 de Pi(x), β le coefficient en x de Pi(x) et γ leterme constant de Pi(x). On a alors

∫ xi+1

xi−1

Pi(x) dx =∫ xi+1

xi−1

(αx2 + βx + γ) dx

=[13αx3 +

12βx2 + γx

]xi+1

xi−1

=13α(x3

i+1 − x3i−1) +

12β(x2

i+1 − x2i−1) + γ(xi+1 − xi−1)

= (xi+1 − xi−1)[13α(x2

i+1 + xi+1xi−1 + x2i−1)

+12β(xi+1 + xi−1) + γ

]= 2h

[13α

((xi+1 + xi−1)2)− xi+1xi−1

)+

12β(xi+1 + xi−1) + γ

]= 2h

[13α(4x2

i − x2i + h2) + βxi + γ

]= 2h

[13α(3x2

i + h2) + βxi + γ

]

En reportant les expressions de α, β et γ, on obtient finalement :

∫ xi+1

xi−1

Pi(x) dx =h

3(f(xi−1) + 4f(xi) + f(xi+1))

Soit I∗S , la valeur approchée de I =∫ b

aPi(x) dx par la méthode de Simpson.

I∗S =p∑

i=1

∫ xi+1

xi−1

Pi(x) dx

Notons Ai =∫ xi+1

xi−1Pi(x) dx

Page 27: Cours de Méthodes Numerique

6.3. MÉTHODE DE SIMPSON 27

A1 =h

3(f(x0) + 4f(x1) + f(x2))

A2 =h

3(f(x2) + 4f(x3) + f(x4))

......

Ap =h

3(f(xn−2) + 4f(xn−1) + f(xn))

D’où la formule

I∗S =h

3

[f(x0) + f(xn) + 2

p−1∑i=1

f(x0 + 2ih) + 4p−1∑i=1

f (x0 + (2i− 1)h)

]

Page 28: Cours de Méthodes Numerique

28 CHAPITRE 7. RÉSOLUTION DES SYSTÈMES LINÉAIRES

Chapitre 7

Méthodes de résolution dessystèmes linéaires de néquations à n inconnues

Soit le système S suivant :

a1,1x1 + a1,2x2 + · · ·+ a1,nxn = b1

a2,1x1 + a2,2x2 + · · ·+ a2,nxn = b2

...an,1x1 + an,2x2 + · · ·+ an,nxn = bn

On note souvent le système sous sa forme matricielle a~x = ~b.

7.1 Méthodes directes

7.1.1 Méthodes de Cramer

Soit xi = ∆i∆ où ∆ est le déterminant de a et ∆i est le déterminant obtenu

en remplaçant la ième colonne de a par le vecteur ~b. Le calcul de ~x nécessite doncle calcul de n + 1 déterminants d’ordre n. Ceci s’avère inapplicable en pratique.

7.1.2 Méthodes de Gauss

Cette méthode consiste à transformer le système S en un système équivalentS′ que l’on sait résoudre, par exemple un système triangulaire ou diagonal.

Pour ce faire, les opérations permises sont la permutation d’équation dusystème ou la combinaison linéaire d’équations.

La méthode de triangulation avec pivot maximum partiel est la plus cou-rante sur les méthodes numériques. Le système S est transformé en un systèmetriangulaire supérieur.

Page 29: Cours de Méthodes Numerique

7.1. MÉTHODES DIRECTES 29

a′1,1 a′1,2 · · · a′1,n

a′2,2 · · · a′2,n

. . ....

a′n,n

x′1x′2...

x′n

=

b1

b2

...bn

Pour obtenir un système triangulaire, il faut traiter les colonnes de la matrice

a depuis la première colonne jusqu’à la (n−1)ème. Ceci implique que l’algorithmede résolution devra comporter une boucle d’index j variant de 1 à n− 1.Algorithme de principe de la triangulationdébutpour j variant de 1 à n− 1

Rechercher parmi les valeurs aj,j , aj+1,j ,..., an,j celle qui a la plus grande

valeur absolue.Soit ap,j cet élément. Il est appelé pivot (la méthode échoue si le pivot

est nul).si p 6= i alors on permute les équations d’indice p et jpour i variant de j + 1 à n

début z ← − ai,j

aj,j

Les nouveaux éléments de l’équation i sont obtenus en leur ajou-tant le produit par z des éléments de même rang dans l’équation j

finfin

Une fois le système triangularisé, on le résout facilement par remontée.a1,1x1 + a1,2x2 + · · · + a1,nxn = b1

a2,2x2 + · · · + a2,nxn = b2

. . ....

...an,nxn = bn

La dernière équation donne directement xn = bn

an,n. La valeur de xn est alors

portée dans la (n − 1)ème équation, d’où on tire xn−1 et ainsi de suite jusqu’àx1.

La ième équation est :

ai,ixi + ai,i+1xi+1 + · · ·+ ai,nxn = bn

On en déduit

xi =bi −

∑nj=i+1 ai,jxj

ai,i

Écrire l’algorithme de la procédure remontée dont les arguments sont :

– n entier, ordre du système ;– a matrice carrée triangulaire d’ordre n ;– b vecteur de n éléments ;– x vecteur de n éléments, solutions du système.

Page 30: Cours de Méthodes Numerique

30 CHAPITRE 7. RÉSOLUTION DES SYSTÈMES LINÉAIRES

Écrire l’algorithme de l’algorithme triangulation dont les arguments sont :

– n entier, ordre du système ;– a matrice carrée triangulaire d’ordre n ;– b vecteur de n éléments ;

Écrire l’algorithme du programme principal.

7.2 Méthodes itérativesDans ce type de méthodes, on ne modifie pas le système. On par d’un vecteur

arbitraire ~x(0) (par exemple ~x(0) = ~0) et on construit une suite de vecteurs ~x(k)

qui, sous certaines conditions, converge vers la solution ~x du système.

7.2.1 Méthode de JacobiExempleSoit le système de 3 équations à 3 inconnues :

a1,1x1 + a1,2x2 + a1,3xn = b1 (7.1)a2,1x1 + a2,2x2 + a2,3xn = b2 (7.2)a3,1x1 + a3,2x2 + a3,3xn = b3 (7.3)

Partant de valeurs arbitraires x(0)1 , x

(0)2 , x

(0)3 , on résout l’équation (7.1) en

x1.

x1 =b1 − a1,2x2 − a1,3x3

a1,1

Soit en tenant compte des valeurs initiales :

x(1)1 =

b1 − a1,2x(0)2 − a1,3x

(0)3

a1,1

De même, on résout les équation (7.2) et (7.3) et on obtient :

x(1)2 =

b2 − a2,1x(0)1 − a2,3x

(0)3

a2,2

x(1)3 =

b1 − a3,1x(0)2 − a3,2x

(0)3

a3,3

On obtient ainsi les composantes du vecteur ~x(1), on recommence le processuset on obtient ~x(2) et ainsi de suite jusqu’à un rang n tel que ~x(n) = ~x(n−1) à ~εprès.

Une condition suffisante mais pas nécessaire de convergence est que la ma-trice a du système soit diagonale strictement dominante, c’est-à-dire :

∀i ∈ N,1 ≤ i ≤ n, |ai,i| >n∑

j=1j 6=i

|ai,i|

Page 31: Cours de Méthodes Numerique

7.2. MÉTHODES ITÉRATIVES 31

7.2.2 Méthode de Gauss-SeidelPartant comme la méthode de Jacobi, on utilise systématiquement les valeurs

actuelle des composantes du vecteur ~x et non les valeurs du rang précédent.Ainsi, on a :

x(i+1)1 =

b1 − a1,2x(i)2 − a1,3x

(i)3

a1,1(7.4)

x(i+1)2 =

b2 − a2,1x(i+1)1 − a2,3x

(i)3

a2,2(7.5)

x(i+1)3 =

b3 − a3,1x(i+1)1 − a3,2x

(i+1)2

a3,3(7.6)

Ceci assure une convergence plus rapide que la méthode de Jacobi.Ces méthodes échouent si un pivot est nul.On arrêtera les itérations quand

∑ni=1

∣∣∣x(k)i − x

(k−1)i

∣∣∣ < nε

Écrire l’algorithme de la procédure de résolution d’un système d’équationspar la méthode de Gauss-Seidel et l’algorithme d’une fonction permettant detester si la matrice a est diagonale strictement dominante.

Page 32: Cours de Méthodes Numerique

32 CHAPITRE 8. MÉTHODE DES MOINDRES CARRÉS

Chapitre 8

Lissage d’un ensemble depoints par une fonctionpolynôme - Méthode desmoindres carrés

8.1 Position du problèmeOn a relevé expérimentalement Nexp valeurs y0,y1, . . . ,yNexp

pour Nexp abs-cisses x0,x1, . . . ,xNexp

. On cherche le Polynôme P (x) de degré N (N < Nexp)qui représente au mieux les Nexp points (xi,yi).

P (x) = C0 + C1x + C2x2 + · · ·+ CNxN

8.2 Critère des moindres carrésLe critère des moindres carrés consiste à choisir les coefficients Cj du poly-

nôme P (x) de façon à minimiser l’expression

ω =Nexp∑i=0

(yi − P (xi))2

En expriment ∂ω∂Cj

= 0 pour j variant de 1 à N , on trouve que les coefficients

Cj doivent être solution d’un système linéaire de N + 1 inconnues A.~C = ~B

où ~C est un vecteur à N + 1 dimensions qui sont les inconnues du système etsont donc les coefficients du polynôme à déterminer. A est une matrice carréed’ordre N + 1 telle que :

Ai,j =Nexp−1∑

k=0

xi+jk ,∀(i,j) ∈ N,0 ≤ i ≤ N,0 ≤ j ≤ N

~B est un vecteur de dimension N + 1 tel que :

Page 33: Cours de Méthodes Numerique

8.3. EXERCICE 33

Bi =Nexp−1∑

k=0

xikyk,∀i ∈ N2,0 ≤ i ≤ N

Le système obtenu est mal conditionné, mais en pratique N est souvent prisfaible (N ≤ 2) et sa résolution ne pose pas de problème.

8.3 ExerciceÉtablir les formules dans le cas où N = 1 (équation de la droite des moindres

carrés).Appliquer les formules trouvées à l’ensemble des points suivants :xi -2 -1 0 1 2 3yi 0 0,5 1 2 4 6

Écrire l’algorithme de la procédure permettant de déterminer les coefficientsde la droite des moindres carrés.

Page 34: Cours de Méthodes Numerique

34CHAPITRE 9. RÉSOLUTION NUMÉRIQUES DES ÉQUATIONS DIFFÉRENTIELLES

Chapitre 9

Résolution numériques deséquations différentielles

9.1 Position du problème

Soit l’équation différentielle du second ordre avec conditions initiales suivantesuivante :

Ad2ydt2 + B dy

dt + Cy = Dy(0) = y0(dydt

)0

= V0

En posant z = dydt , le système précédent devient

dzdt = −B

Az − CAy + D

Ay(0) = y0

z(0) = V0

On peut généraliser le raisonnement aux équations différentielles d’ordren avec conditions initiales. Ainsi, toute équation différentielle d’ordre n avecconditions initiales peut se ramener à un système de n équations diférentiellescouplées du premier ordre.

Dans le cas général, un problème aux conditions intiales est de la forme{d~ydt = ~f(~y,t)

~y(0) = y0

avec{

~y = y1,y2, . . . ,yn

~f = f1,f2, . . . ,fn

9.2 Méthode d’Euler

Soit l’équation différentielle suivante :{ dydy = f(y,t)

y(0) = y0

Page 35: Cours de Méthodes Numerique

9.3. MÉTHODE DE RUNGE-KUTTA À PAS UNIQUE 35

Si on suppose la fonction y connue à l’instant t, on peut déduire sa valeuren l’instant t + ∆t grâce au développement en série de Taylor.

y(t + ∆t) = y(t) + ∆tdy

dt+

(∆t)2

2!d2y

dt2+

(∆t)3

3!d3y

dt3+ · · ·

À l’ordre 1 de ce développement on obtient :

y(t + ∆t) ' y(t) + ∆tdy

dt= y(t) + ∆tf(y,t)

Si ∆t est constant, on peut écrire

yi+1 = yi + ∆tf(yi,ti)

Exemple Soit à résoudre le système suivant :{dydt + y2 = 0

y(0) = 1

La solution exacte de ce système est y = 1t+1 .

Appliquons la méthode d’Euler

f(y,t) = −y2

yi+1 = yi + ∆tf(yi,ti) = yi −∆ty2

Si on fixe ∆t = 0.1, on obtient les valeurs suivantes :

i ti yi exact yi donné par erreur relativela méthode d’Euler en %

1 0,1 0,90909091 0,90000000 1,002 0,2 0,83333333 0,81900000 1,723 0,3 0,76923077 0,75192390 2,254 0,4 0,71428571 0,69538494 2,655 0,5 0,66666667 0,64702892 2,957 0,7 0,58823529 0,56854190 3,259 0,9 0,52631579 0,50746495 3,5811 1,1 0,47619048 0,45850815 3,71

Tab. 9.1 – Comparaison entre les valeurs données par la méthode d’Euler et lesvaleurs de la solution analytique de l’équation différentielle

On constate que l’erreur augmente au fur et à mesure que i augmente. Laméthode d’Euler est peu précise.

9.3 Méthode de Runge-Kutta à pas unique

9.3.1 Méthode de Runge-Kutta à l’ordre 2Cette méthode est obtenue en prenant les différences centrées au premier

ordre.

Page 36: Cours de Méthodes Numerique

36CHAPITRE 9. RÉSOLUTION NUMÉRIQUES DES ÉQUATIONS DIFFÉRENTIELLES

yi+1 − yi = ∆tf(y1+ 12,ti+ 1

2)

Or y1+ 12

est inconnu. On le remplace donc par une valeur estimée notéey1+ 1

2. On obtient le système suivant :

yi+1 = yi + ∆tf(y1+ 12,ti+ 1

2)

y1+ 12

= yi + ∆t2 f(yi,ti)

ti+ 12

= ti + ∆t2

Pour évaluer yi+1, il faut calculer 2 fois la fonction f . C’est pour cette raisonque cette méthode est dite d’ordre 2.

9.3.2 Méthode de Runge-Kutta à l’ordre 4Le système à calculer est le suivant :

yi+1 = yi + ∆t

6

(f(yi,ti) + 2f(yi+ 1

2,ti+ 1

2) + 2f(y′i+ 1

2,ti+ 1

2) + f(yi+1,ti+1)

)yi+ 1

2= yi + ∆t

2 f(yi,ti)y′i+ 1

2= yi + ∆t

2 f(yi+ 12,ti+ 1

2)

yi+1 = yi + ∆tf(y′i+ 12,ti+ 1

2)

9.4 Formules d’Adams ouvertesSoit l’équation différentielle suivante :{

dydt = f(y,t)

y(0) = y0

Le développement en série de Taylor autour de t donne :

y(t + ∆t) = y(t) + ∆tdy

dt+

(∆t)2

2!d2y

dt2+

(∆t)3

3!d3y

dt3+ · · ·+ (∆t)n

n!dny

dtn

L’équation différentielle se transforme de la façon suivante :dydt = y′(t) = f(y,t)

d2ydt2 = y′′(t) = f ′(y,t)

...dnydtn = y(n)(t) = f (n−1)(y,t)

où yi+1 = yi + ∆tfi + (∆t)2

2! f ′i + (∆t)n

n! f(n−1)i .

9.4.1 Formules d’Adams à l’ordre 1Si dans l’équation précédente, on regarde uniquement les 2 premiers termes,

on obtient

yi+1 = yi + ∆tfi

C’est la méthode d’Euler.

Page 37: Cours de Méthodes Numerique

9.4. FORMULES D’ADAMS OUVERTES 37

9.4.2 Formules d’Adams à l’ordre 2En utilisant les 3 premiers termes, on obtient la formule d’Adams à l’ordre

2 :

yi+1 = yi + ∆tfi +(∆t)2

2!f ′i

Or,

f ′i =fi − fi−1

∆t

Donc,

yi+1 = yi + ∆tfi +(∆t)2

2!fi − fi−1

∆t

= yi + ∆tfi +(∆t)

2(fi − fi−1)

= yi +∆t

2(3fi − fi−1)

Pour calculer yi+1, il faut connaître yi et yi−1, ce qui interdit l’utilisation dela méthode pour calculer y1. On utilisera alors la méthode de Runge-Kutta.

9.4.3 Formules d’Adams d’ordre plus élevéOn peut bien évidemment utiliser les ordres plus élevés en généralisant le

raisonnement précédent.

Page 38: Cours de Méthodes Numerique

Index

addition, 6affactation, 8algorithme, 7algorithme d’Aitken, 20alternative, 7

bloc, 8boucle, 7

début, 8dichotomie, 14

entier, 4exposant, 4

faire tant que, 8fin, 8

intégration, 23interpolation, 17itération, 7

méthode barycentrique, 21méthode de Cramer, 28méthode de Gauss, 28méthode de Jacobi, 30méthode de Newton, 14méthode de Seidel, 31méthode de Simpson, 25méthode des moindres carrés, 32méthode des rectangles médians, 23méthode des trapèzes, 24mantisse, 4multiplication, 5

point fixe, 15polynôme de Lagrange, 18pour, 8

réel, 4répéter jusqu’à, 8répéter tant que, 8

série, 10si alors sinon, 7système linéaire, 28

tant que faire, 7test, 7

virgule flottante, 4

38