Vous êtes sur la page 1sur 38

Traitement numérique des données

Pierre Héroux
Université de Rouen
2 TABLE DES MATIÈRES

Table des matières

1 Représentation des données numériques 3


1.1 Nombres entiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2 Nombres réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Virgule flottante binaire . . . . . . . . . . . . . . . . . . . 3
1.2.2 Capacité (en valeur absolue) . . . . . . . . . . . . . . . . 4
1.2.3 Précision . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2.4 Principe des opérations en virgule flottante . . . . . . . . 4

2 Rappels d’algorithmique 6
2.1 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 Théorème de structure . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2.1 La simple séquence d’instruction . . . . . . . . . . . . . . 6
2.2.2 L’itération canonique . . . . . . . . . . . . . . . . . . . . . 6
2.2.3 La structure alternative . . . . . . . . . . . . . . . . . . . 6
2.3 Notion de bloc . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.4 L’opération d’affectation . . . . . . . . . . . . . . . . . . . . . . . 7
2.5 Exercice :Calcul du PGCD de deux entiers M et N . . . . . . . . 7
2.6 Extension aux autres instructions de base . . . . . . . . . . . . . 7
2.6.1 Instruction de répétition . . . . . . . . . . . . . . . . . . . 7
2.6.2 Boucle pour . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.6.3 Extension de l’alternative :l’aiguillage . . . . . . . . . . . . 8
2.6.4 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

3 Programmation des séries 9


3.1 Première approche . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
3.3 À faire en travaux pratiques . . . . . . . . . . . . . . . . . . . . . 10
3.4 Principe de programmation des séries . . . . . . . . . . . . . . . 10
3.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
3.5.1 Série de Leibnitz . . . . . . . . . . . . . . . . . . . . . . . 10
3.5.2 Autres résultats . . . . . . . . . . . . . . . . . . . . . . . . 11

4 Résolution d’équations 13
4.1 Équation du type f (x) = 0 . . . . . . . . . . . . . . . . . . . . . 13
4.1.1 Méthode de dichotomie . . . . . . . . . . . . . . . . . . . 13
4.1.2 Méthode de Newton . . . . . . . . . . . . . . . . . . . . . 13
4.2 Équation du type f (x) = x - Méthode du point fixe . . . . . . . . 14
4.2.1 Principe de la méthode . . . . . . . . . . . . . . . . . . . 14
TABLE DES MATIÈRES 3

4.2.2 Algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . 14
4.2.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

5 Interpolation polynomiale 16
5.1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.2 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . 16
5.3 Polynôme de Lagrange . . . . . . . . . . . . . . . . . . . . . . . . 17
5.4 Exemples . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
5.5 Exercices . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
5.6 Deux algorithmes de calcul . . . . . . . . . . . . . . . . . . . . . 19
5.6.1 Algorithme d’Aitken . . . . . . . . . . . . . . . . . . . . . 19
5.6.2 Méthode barycentrique . . . . . . . . . . . . . . . . . . . 20

6 Intégration 22
6.1 Méthode des rectangles médians . . . . . . . . . . . . . . . . . . 22
6.2 Méthode des trapèzes . . . . . . . . . . . . . . . . . . . . . . . . 23
6.3 Méthode de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . 24

7 Résolution des systèmes linéaires 27


7.1 Méthodes directes . . . . . . . . . . . . . . . . . . . . . . . . . . 27
7.1.1 Méthodes de Cramer . . . . . . . . . . . . . . . . . . . . . 27
7.1.2 Méthodes de Gauss . . . . . . . . . . . . . . . . . . . . . . 27
7.2 Méthodes itératives . . . . . . . . . . . . . . . . . . . . . . . . . . 29
7.2.1 Méthode de Jacobi . . . . . . . . . . . . . . . . . . . . . . 29
7.2.2 Méthode de Gauss-Seidel . . . . . . . . . . . . . . . . . . 30

8 Méthode des moindres carrés 31


8.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . 31
8.2 Critère des moindres carrés . . . . . . . . . . . . . . . . . . . . . 31
8.3 Exercice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32

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


9.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.2 Méthode d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
9.3 Méthode de Runge-Kutta à pas unique . . . . . . . . . . . . . . . 34
9.3.1 Méthode de Runge-Kutta à l’ordre 2 . . . . . . . . . . . . 34
9.3.2 Méthode de Runge-Kutta à l’ordre 4 . . . . . . . . . . . . 35
9.4 Formules d’Adams ouvertes . . . . . . . . . . . . . . . . . . . . . 35
9.4.1 Formules d’Adams à l’ordre 1 . . . . . . . . . . . . . . . . 35
9.4.2 Formules d’Adams à l’ordre 2 . . . . . . . . . . . . . . . . 36
9.4.3 Formules d’Adams d’ordre plus élevé . . . . . . . . . . . . 36
4 CHAPITRE 1. REPRÉSENTATION DES DONNÉES NUMÉRIQUES

Chapitre 1

Représentation des données


numériques

1.1 Nombres entiers


Un entier est codé par défaut sur un mot machine, le plus souvent sur 32
bits, dont un bit de signe. Lorsque le bit de signe vaut 0, l’entier représenté est
un nombre positif ou nul. Quand le bit de signe est à 1, l’entier est négatif. Pour
un entier positif ou nul, sa représentation est binaire pure (avec le bit de signe
à 0).
Exemple
La représentation en machine de l’entier +5 est la suivante :
s 31 bits
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 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 entier
représentable est −231 . Les entiers machine signés représentent donc la partie
de 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 sont
respectées à condition que les résultats appartiennent au domaine des nombres
entiers 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é la
mantisse et e est appelé l’exposant (e est entier).
Exemple
x = 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 :
1.2. NOMBRES RÉELS 5

1
≤m<1
2
On a alors une virgule flottante dite normalisée. Un réel machine simple
précision est codé sur 32 bits en virgule flottante normalisée. La mantisse occupe
24 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 chiffres
significatifs.

– Ces réels machine sont en fait des éléments de l’ensemble Q des nombres
rationnels.
– L’écart relatif entre 2 réels consécutifs, lorsque l’exposant est égal pour les
deux, vaut 2−23 . En revanche, l’écart absolu entre deux réels consécutifs
dépend de la valeur de l’exposant.

Soient X et XS deux réels dont les représentations en machine sont exactes


et consécutives. Soient y et z deux nombres proches de X+X
2
S
tels que y < X+X
2
S

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

– En arithmétique réelle, en machine, compte-tenu des arrondis et autres


opérations dues aux problèmes de représentations, on a aucune chance de
trouver un résultat égal à une valeur donnée. Ainsi, on prendra garde de
ne jamais tester l’égalité d’un résultat issu de l’arithmétique réelle avec
une valeur donnée. On préférera comparer l’écart (absolu ou relatif) de ce
ré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 sont
plus respectées.

1.2.4 Principe des opérations en virgule flottante


Soient deux nombres flottants X1 = m1 2e1 et X2 = m1 2e2 .

Multiplication

X1 .X2 = m1 m2 2e1 +e2


Pour effectuer la multiplication X1 .X2 , on procède au produit des mantisses
et à la somme des exposants. Si la mantisse résultat est inférieure à 0,5, on
effectue un recadrage en décalant la mantisse d’un position vers la gauche et en
diminuant l’exposant d’une unité.
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 exposant
sont é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 la
droit 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 mantisse
du 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 perdu
lors du décalage. Les exposants sont maintenant égaux, il ne reste plus
qu’à additionner les mantisses et à effectuer le recalage.
Exemple
Soient X1 = 3,875 et X2 = 12,25. On utilise une représentation sur 12 bits, la
mantisse étant codée sur 8bits dont un bit de signe et l’exposant étant codé sur
4 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 exposant
0 0 0 1 1 1 1 1 0 1 0 0
0 1 1 0 0 0 1 0 0 1 0 0
1 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 recadrer
le 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 1
Multiplication X1 .X2
La multiplication des mantisses est illustrée si dessous :
1 1 1 1 1 0 0
1 1 0 0 0 1 0
1 1 1 1 1 0 0
1 1 1 1 1 0 0
1 1 1 1 1 0 0
1 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, ce
qui fait que 7 bits de poids faible sont perdus. Là encore, l’arithmétique n’est
pas 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 position
de la mantisse, d’où le résultat final :
0 1 0 1 1 1 1 1 0 1 1 0
Ce nombre en virgule flottant représente 47,5 alors que le résultat exact du
produit vaut 47,46 875.
7

Chapitre 2

Rappels d’algorithmique

2.1 Algorithme
Un 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 structure


Tout 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 signifie
que le bloc d’instruction S1 sera exécuté et immédiatement suivi de l’exécution
du 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. La
structure 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
8 CHAPITRE 2. RAPPELS D’ALGORITHMIQUE

2.3 Notion de bloc


Un 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’il
n’est composé que d’une seule instruction, les mots début et fin sont facultatifs.

2.4 L’opération d’affectation


L’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ée
par ←. 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_identif icateur_de_variable ← expression

2.5 Exercice : Calcul du PGCD de deux entiers


M 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’algorithme
est 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étition
On trouve dans certains langages des structures telles que faire (ou répéter)
S tant que α. Cette instruction est équivalente à S ; tant que α faire S
faire (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 est
une valeur définie).
La séquence qui suit peut s’exprimer par une boucle pour.
i←1
tant que i ≤ n faire
début
S /* S est une suite d’instructions quelconque */
i←i+1
fin
La boucle pour correspondante est la suivante :
pour i variant de 1 à n par pas de 1 faire S
i 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 bien
entendu être modifiées.
2.6. EXTENSION AUX AUTRES INSTRUCTIONS DE BASE 9

2.6.3 Extension de l’alternative : l’aiguillage


L’aiguillage est équivalent à une suite d’instruction alternatives en cascade.
Soient ch une expression, V1 , . . . ,Vn des valeurs constantes du même type que
ch, 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 Exercice
Un 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 et
10 000. On admettra que tous les nombres parfaits sont pairs.
10 CHAPITRE 3. PROGRAMMATION DES SÉRIES

Chapitre 3

Programmation des séries

Exemple
On veut obtenir une table de la fonction cos(x) pour x variant de 0 à π par pas
π
de 12 en utilisant la formule :


x2 x4 x2p X x2p
cos(x) = 1 − + + · · · + (−1)p + ··· = (−1)p
2! 4! (2p)! p=0
(2p)!

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

3.1 Première approche


L’énoncé impose une boucle.
π
pour x variant de 0 à π par pas de 12 faire
début
Calculer cos(x) à 10− 6 près par la formule
Écrire x et la valeur calculée e cos(x)
fin
x2p
Soit tp = (−1)p (2p)! . Le calcul de tp à chaque itération serait d’une extrême
maladresse car beaucoup trop coûteux en temps de calcul. Faisons apparaître
une récurrence.
x2p
(
tp = (−1)p (2p)!
2p−2
x
tp−1 = (−1)p−1 (2p−2)!

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

3.2 Algorithme
x réel
p entier : rang du terme calculé
t réel : terme calculé
s réel : somme de terme jusqu’au rang p
3.3. À FAIRE EN TRAVAUX PRATIQUES 11

début
π
pour x variant de 0 à π par pas de 12 faire
début
x2 ← x ∗ x
p←0
s←1
t←1
tant que précision non atteinte faire
début
p←p+1
x2
t ← −t (2p−1)(2p)
s←s+t
fin
Écrire x et s
fin
fin
On prendra comme condition relative à la précision st > 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éries


Pour 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 terme
et le rang du terme courant. Il peut également y avoir une variable représentant
le signe du terme au rang considéré. Les termes sont calculés et ajoutés à la
somme jusqu’à ce que la précision soit atteinte.

3.5 Exercices
3.5.1 Série de Leibnitz

π 1 1 1 X 1
= 1 − + − + ··· = (−1)n
4 3 5 7 n=0
2n +1
Cette série converge très lentement.
Programmer le calcul de cette série à 10−6 près.
12 CHAPITRE 3. PROGRAMMATION DES SÉRIES

Pour cette série, le terme est simple. On procède donc au calcul dirent du
terme avec une variable auxiliaire représentant le signe.
On peut appliquer à cette série des techniques de convergence, par exemple :

   
π 1 1 1
= 1− + − + ···
4 3 5 7
∞  
X 1 1
= −
n=0
4n + 1 4n + 3

X 2
= (3.1)
n=0
(4n + 1)(4n + 3)

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 :

   
π 1 1 1 1
= 1− − − − − ···
4 3 5 7 9
∞  
X 1 1
= 1− −
n=0
4n + 3 4n + 5

X 2
= 1− (3.2)
n=0
(4n + 3)(4n + 5)

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

∞  
π X 2 2
= 1+ −
2 n=0
(4n + 1)(4n + 3) (4n + 3)(4n + 5)

X 4
= 1+2
n=0
(4n + 1)(4n + 3)(4n + 5)

X 1
= 1+8
n=0
(4n + 1)(4n + 3)(4n + 5)

3.5.2 Autres résultats



π2 X 1
= 2
6 n=1
n

π4 X 1
=
90 n=1 n4

π6 X 1
=
945 n=1 n6
Les produits suivants donnent également des approximations de π.
3.5. EXERCICES 13


π 22446688 Y 4n2
= ··· =
2 13355779 n=1
(2n − 1)(2n + 1)

√ p √ √
q p
2 2 2+ 2 2+ 2+ 2
=
π 2 2 2
14 CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS

Chapitre 4

Méthodes usuelles de
ré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. Elle
est définie et continue sur [a,b], intervalle donné. f possède une racine unique
appartenant à ]a,b[ et s’annule en changeant de signe.

Principe de la méthode
On se place au point d’abscisse x = a+b
2 et on cherche à quel demi-intervalle
[a,x] ou [x,b] appartient la racine. On restreint alors l’intervalle de recherche
au demi-intervalle déterminé lors de l’étape précédente et on recommence le
même processus jusqu’à obtention d’un encadrement suffisamment restreint de
la 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 par
zéro.
Remarque : la méthode de dichotomie est de convergence lente.
x
Appliquer la méthode de dichotomie à f (x) = e− 10 − x sur l’intervalle [0,1].
Vérification des hypothèses : f est monotone décroissante sur [0,1]. f (0) = 1
et 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 0 sont connues par leur expression mathématique. Elles
sont 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 . Cette
tangente coupe l’axe des abscisses au point d’abscisse x1 . En x1 , on recommence
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 construit


une suite xi qui, dans de bonnes conditions, converge rapidement vers la racine
cherchée.
Recherchons la relation liant xi+1 à xi .
)
tan(α) = f 0 (xi ) f (xi )
⇒ xi+1 = xi −
tan(α) = xif−x
(xi )
i+1
f 0 (xi )

Conséquence : f 0 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 f
et 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 du


point 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 0 (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 :

1 3 5
F (x) = x − 2x2 + 3x − (4.1)
3 2
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.
16 CHAPITRE 4. RÉSOLUTION D’ÉQUATIONS

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

1 2 5
x = f (x) où f (x) = − x3 + x2 + (4.3)
9 3 6
r
1 3 2 5
x = g(x) où g(x) = x + x− (4.4)
6 3 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 et
x0 = 2,5.
17

Chapitre 5

Interpolation polynomiale

5.1 Introduction
Supposons 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ôme
P de degré minimal prenant pour chaque valeur xi la valeur yi , donc tel que
P (xi ) = yi ,∀i = 0,1, . . . ,n.
Ceci peut servir à obtenir de nouvelles valeurs calculées en d’autres abscisses
et 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éthodes
classiques d’intégration.

5.2 Position du problème


On 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 de
degré inférieur ou égal à n. Il y a donc n+1 coefficients a0 ,a1 ,. . . ,an à déterminer
pour obtenir P (x) = a0 + a1 x + · · · + an xn .
En x0 , on a a0 + a1 x0 + · · · + an xn0 = y0
En x1 , on a a0 + a1 x1 + · · · + an xn1 = y1
···
En x0 , on a a0 + a1 xn + · · · + an xnn = yn
Ces n + 1 équations constituent un système linéaire de n + 1 équations à
n + 1 inconnues.

x0 xn−1
 n    
0 · · · x0 1 an yn
 xn1 xn−1 · · · x1 1   an−1   yn−1 
1
..   ..  =  .. 
    
 . .. .. ..
 .. . . . .   .   . 
xnn xn−1
n ··· xn 1 a0 y0
| {z }| {z }
matrice carrée d’ordre n+1 inconnues

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é.
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 compris
entre 0 et n :

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


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

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


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

Soit
n
Y x − xj
Li (x) =
x
j=0 i
− xj )
j6=i

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 aux
points xi les valeurs yi (i ∈ N,0 ≤ i ≤ n) s’écrit :

P (x) = y0 L0 (x) + y1 L1 (x) + · · · + yn Ln (x)


Xn
= yi Li (x)
i=0

Interprétation : quand on écrit le polynôme P cherché dans la base canonique


1,x, . . . ,xn , les coefficients de P dans cette base sont solution du système linéaire
de n + 1 équations à n + 1 inconnues précédent (qu’on ne sait pas bien résoudre
numériquement). En revanche, les coefficients de P dans la base des polynômes
de 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 .
n
Y (x − xj )
Li (x) =
j=0
(xi − xj )
j6=i

Donc :
5.4. EXEMPLES 19

(x − x1 )(x − x2 )
L0 (x) =
(x0 − x1 )(x0 − x2 )
(x − x0 )(x − x2 )
L1 (x) =
(x1 − x0 )(x1 − x2 )
(x − x0 )(x − x1 )
L2 (x) =
(x2 − x0 )(x2 − x1 )

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

x0 = −1 x1 = 0 x2 = 1
y 0 = 1 y 1 = 0 y2 = 2

Puisque y1 = 0, le calcul de L1 est inutile

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

x(x − 1) x(x + 1) 3 1
P (x) = +2 = x2 + x
2 2 2 2
2. Calcul de la valeur approchée de sin π5 sachant que


sin(0) = 0
π 1
sin =
6 2√
π 2
sin =
4 2

2
Les abscisses de base sont 0, π6 et π4 . Les valeurs de yi sont 0, 1
2 et 2 .
Puisque y0 = 0, le calcul de L0 est inutile.

(x−0)(x− π 4) x(x− π4)


L1 (x) = = −π π
( π6 −0)( π6 − π4 ) 6 12
(x−0)(x− π 6) x(x− π
6)
L2 (x) = = π π
( π4 −0)( π4 − π6 ) 4 12

Or,

1 2
P (x) = L1 (x) + L2 (x)
2 2
Donc,
 √
x x − π4 2x x − π6

P (x) = +
− π3 12
π π π
2 12

P π5 est une valeur approchée de sin π5 .


 
20 CHAPITRE 5. INTERPOLATION POLYNOMIALE

1 1 π

2 15 1 π
 
5 − 4 5 − 6
π
5
P = +
5 − π3 12
π π π
2 12
1
− 100 √ 150
1
= 1 + 2 1
− 36 24
9 √ 4
= + 2
25 25
' 0,58626

D’autre part,
π
sin ' 0,5877
5

5.5 Exercices
1. Écrire le polynôme d’interpolation de Lagrange P (x) de la fonction cosinus
aux 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 ,


construitsur les points −1, − 13 , 13 et 1. En déduire une expression approché
de sin π4 par interpolation de la fonction

R → R  πx 
x 7→ f (x) = sin
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 P expression analytique. L’utilisation
n
directe de la formule de Lagrange P (x) = i=0 yi Li (x) pour déterminer P (α)
α−x
nécessite le calcul pour chacun des polynômes Li des n fractions xi −xjj puis
leur produit pour déterminer Li (α), enfin une multiplication yi Li (α). 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 algorithmes
plus intéressants.

5.6.1 Algorithme d’Aitken


Cet algorithme construit une suite de polynômes réalisant l’interpolation de
Lagrange 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ômes
de 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’un
tableau triangulaire.
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

(α − xj )Pk,j (α) − (α − xj )Pj,j (α)


Pk,j+1 (α) =
xk − xj
On montre que pour obtenir Pn,n (α), polynôme réalisant l’interpolation de
Lagrange sur les n + 1 points, il faut n(n + 1) multiplications et n(n+1)
2 divisions
pour chaque point α. Ceci ne représente pas un gain énorme par rapport au
calcul direct, cependant, on constate fréquemment qu’on obtient un résultat
satisfaisant 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
Pn Ai
i=0 yi x−x i
P (x) = Pn Ai
i=0 x−xi
avec

1
Ai =
(xi − x0 ) · · · (xi − xi−1 (xi − xi+1 · · · (xi − xn )
1
= Qn
j=0 i − xj )
(x
j6=i
n
Y 1
=
j=0
(xi − xj )
j6=i

Le calcul de Ai nécessite n divisions et n multiplications en effectuant le


calcul par la dernière expression. Le calcul de P (a lpha) nécessite donc (n + 1)2
multiplications et (n + 1)2 divisions. L’avantage de cette méthode ne se fait
sentir que si on doit effectuer le calcul en plusieurs valeurs αk . En effet, le calcul
des Ai est indépendant de α et sera donc effectué une fois pour toutes.
22 CHAPITRE 5. INTERPOLATION POLYNOMIALE

Exercice
Écrire l’algorithme de cette méthode
23

Chapitre 6

Intégration
Rb
Soit à calculer I = a
f (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 amplitude
et on pose

b−a
h=
n
Sur chaque intervalle élémentaire, on se place au milieu xm de l’intervalle et
on 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 +x 2
i+1
.
x0 +x0 +h
Sur l’intervalle [x0 ,x1 ] on a xm = 2 = x0 + h2 .
x0 +h+x0 +2h
Sur l’intervalle [x1 ,x2 ] on a xm = 2 = x0 + 3h2 .
2i+i
Sur l’intervalle [xi ,xi+1 ] on a xm = x0 + 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

Z xi+1  
2i + i
Ai = f x0 + h dx
xi 2
 
2i + i
= f x0 + h [x]xxi+1
2 i

 
2i + i
= (xi+1 − xi )f x0 + h
2
 
2i + i
= hf x0 + h
2


Pn−1
IR = j=0 Ai est l’approximation de I par la méthode des rectangles mé-
dians.
24 CHAPITRE 6. INTÉGRATION

n−1  

X 2i + i
IR = hf x0 + h
j=0
2
n−1  
X 2i + i
= h f x0 + h
j=0
2
n−1  
X 2i + i
= h f a+ h
j=0
2

6.2 Méthode des trapèzes


L’intervalle [a,b] est subdivisé en n intervalles de même amplitude h = b−a n .
On pose x0 = a et xn = b. Sur un intervalle [xi ,xi+1 ] la fonction f est interpolée
par la droite passant par les points (xi ,f (xi )) et (xi+1 ,f (xi+1 )).
Soit Ai l’aire du trapèze Ti .

1
A0 =
(f (x0 ) + f (x0 + h)) h
2
1
A1 = (f (x0 + h) + f (x0 + 2h)) h
2
.. ..
. .
1
An−1 = (f (x0 + (n − 1)h) + f (x0 + nh)) h
2

Donc

1
Ai = (f (x0 + ih) + f (x0 + (i + 1)h)) h, ∀i ∈ N,0 ≤ i < n
2
Pn−1
IT∗ = j=0 Ai est l’approximation de I par la méthode des trapèzes.

n−1
X
IT∗ = Ai
j=0
n−1
X 1
= (f (x0 + ih) + f (x0 + (i + 1)h)) h
j=0
2
 
1 1
= h f (x0 ) + f (x0 + h) + · · · + f (x0 + (n − 1)h) + f (x0 + nh)
2 2
" n−1
#
f (x0 ) + f (xn ) X
= h + f (x0 + ih)
2 i=1
" n−1
#
f (a) + f (b) X
= h + f (a + ih)
2 i=1
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 intervalles
de 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 que
n doit être pair. On pose n = 2p.
Donnons tout d’abord l’équation de la parabole passant par les 3 points de
coordonné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 .

(x − xi )(x − xi+1 )
L0 (x) =
(xi−1 − xi )(xi−1 − xi+1 )
(x − xi )(x − xi+1 )
=
2h2
2
x − x(xi−1 + xi+1 ) + xi xi+1
=
2h2
2
x − x(2xi + h) + xi (xi + h)
=
2h2

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


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

(x − xi−1 )(x − xi )
L2 (x) =
(xi+1 − xi−1 )(xi+1 − xi )
(x − xi−1 )(x − xi )
=
2h2
2
x − x(xi−1 + xi ) + xi xi−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)


26 CHAPITRE 6. INTÉGRATION

 
1 f (xi−1 ) f (xi+1 )
α = − f (xi ) +
h2 2 2
 
1 f (xi−1 ) f (xi+1 )
β = − (2xi + h) + 2xi f (xi ) − (2xi − h)
h2 2 2
 
1 f (xi−1 ) 2 2 f (xi+1 )
γ = xi (xi + h) − f (xi )(xi − h ) − xi (xi − h)
h2 2 2

Soient α le coefficient en x2 de Pi (x), β le coefficient en x de Pi (x) et γ le


terme constant de Pi (x). On a alors

Z xi+1 Z xi+1
Pi (x) dx = (αx2 + βx + γ) dx
xi−1 xi−1
 xi+1
1 3 1 2
= αx + βx + γx
3 2 xi−1
1 1
= α(x3i+1 − x3i−1 ) + β(x2i+1 − x2i−1 ) + γ(xi+1 − xi−1 )
3  2
1
= (xi+1 − xi−1 ) α(x2i+1 + xi+1 xi−1 + x2i−1 )
3

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

1
= 2h α (xi+1 + xi−1 )2 ) − xi+1 xi−1

3

1
+ β(xi+1 + xi−1 ) + γ
2
 
1 2 2 2
= 2h α(4xi − xi + h ) + βxi + γ
3
 
1 2 2
= 2h α(3xi + h ) + βxi + γ
3

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

Z xi+1
h
Pi (x) dx = (f (xi−1 ) + 4f (xi ) + f (xi+1 ))
xi−1 3

Rb
Soit IS∗ , la valeur approchée de I = a
Pi (x) dx par la méthode de Simpson.

p Z
X xi+1
IS∗ = Pi (x) dx
i=1 xi−1

R xi+1
Notons Ai = xi−1
Pi (x) dx
6.3. MÉTHODE DE SIMPSON 27

h
A1 = (f (x0 ) + 4f (x1 ) + f (x2 ))
3
h
A2 = (f (x2 ) + 4f (x3 ) + f (x4 ))
3
.. ..
. .
h
Ap = (f (xn−2 ) + 4f (xn−1 ) + f (xn ))
3
D’où la formule

p−1 p−1
" #
h X X
IS∗ = f (x0 ) + f (xn ) + 2 f (x0 + 2ih) + 4 f (x0 + (2i − 1)h)
3 i=1 i=1
28 CHAPITRE 7. RÉSOLUTION DES SYSTÈMES LINÉAIRES

Chapitre 7

Méthodes de résolution des


systèmes linéaires de n
équations à n inconnues

Soit le système S suivant :




 a1,1 x1 + a1,2 x2 + · · · + a1,n xn = b1
 a2,1 x1 + a2,2 x2 + · · · + a2,n xn = b2

..


 .
an,1 x1 + an,2 x2 + · · · + an,n xn = 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 donc
le 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 équivalent
S 0 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 du
systè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ème
triangulaire supérieur.
7.1. MÉTHODES DIRECTES 29

a01,1 a01,2 a01,n x01


    
··· b1
 a02,2 ··· a02,n  x02   b2 
=
    
 .. ..  .. .. 
 . .  .   . 
a0n,n x0n 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’algorithme
de résolution devra comporter une boucle d’index j variant de 1 à n − 1.
Algorithme de principe de la triangulation
début
pour 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 j
pour i variant de j + 1 à n
ai,j
début z ← − 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
fin
fin
Une fois le système triangularisé, on le résout facilement par remontée.


 a1,1 x1 + a1,2 x2 + ··· + a1,n xn = b1
a2,2 x2 + ··· + a2,n xn = b2


.. .. ..


 . . .
an,n xn = bn

La dernière équation donne directement xn = abn,n


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

ai,i xi + ai,i+1 xi+1 + · · · + ai,n xn = bn

On en déduit
Pn
bi − j=i+1 ai,j xj
xi =
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.
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ératives


Dans 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 Jacobi


Exemple
Soit le système de 3 équations à 3 inconnues :

a1,1 x1 + a1,2 x2 + a1,3 xn = b1 (7.1)


a2,1 x1 + a2,2 x2 + a2,3 xn = b2 (7.2)
a3,1 x1 + a3,2 x2 + a3,3 xn = b3 (7.3)
(0) (0) (0)
Partant de valeurs arbitraires x1 , x2 , x3 , on résout l’équation (7.1) en
x1 .
b1 − a1,2 x2 − a1,3 x3
x1 =
a1,1
Soit en tenant compte des valeurs initiales :
(0) (0)
(1) b1 − a1,2 x2 − a1,3 x3
x1 =
a1,1
De même, on résout les équation (7.2) et (7.3) et on obtient :

(0) (0)
(1) b2 − a2,1 x1 − a2,3 x3
x2 =
a2,2
(0) (0)
(1) b1 − a3,1 x2 − a3,2 x3
x3 =
a3,3
On obtient ainsi les composantes du vecteur ~x(1) , on recommence le processus
et 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 :
n
X
∀i ∈ N,1 ≤ i ≤ n, |ai,i | > |ai,i |
j=1
j6=i
7.2. MÉTHODES ITÉRATIVES 31

7.2.2 Méthode de Gauss-Seidel


Partant 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 :

(i) (i)
(i+1) b1 − a1,2 x2 − a1,3 x3
x1 = (7.4)
a1,1
(i+1) (i)
(i+1) b2 − a2,1 x1 − a2,3 x3
x2 = (7.5)
a2,2
(i+1) (i+1)
(i+1) b3 − a3,1 x1 − a3,2 x2
x3 = (7.6)
a3,3

Ceci assure une convergence plus rapide que la méthode de Jacobi.


Ces méthodes échouent si un pivot est nul.
Pn (k) (k−1)
On arrêtera les itérations quand i=1 xi − xi < n
Écrire l’algorithme de la procédure de résolution d’un système d’équations
par la méthode de Gauss-Seidel et l’algorithme d’une fonction permettant de
tester si la matrice a est diagonale strictement dominante.
32 CHAPITRE 8. MÉTHODE DES MOINDRES CARRÉS

Chapitre 8

Lissage d’un ensemble de


points par une fonction
polynôme - Méthode des
moindres carrés

8.1 Position du problème


On 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 + C1 x + C2 x2 + · · · + CN xN

8.2 Critère des moindres carrés


Le critère des moindres carrés consiste à choisir les coefficients Cj du poly-
nôme P (x) de façon à minimiser l’expression
Nexp
X 2
ω= (yi − P (xi ))
i=0
∂ω
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 et
sont donc les coefficients du polynôme à déterminer. A est une matrice carrée
d’ordre N + 1 telle que :
Nexp −1
X
Ai,j = xi+j
k ,∀(i,j) ∈ N,0 ≤ i ≤ N,0 ≤ j ≤ N
k=0

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


B
8.3. EXERCICE 33

Nexp −1
X
Bi = xik yk ,∀i ∈ N2 ,0 ≤ i ≤ N
k=0

Le système obtenu est mal conditionné, mais en pratique N est souvent pris
faible (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 3
yi 0 0,5 1 2 4 6
Écrire l’algorithme de la procédure permettant de déterminer les coefficients
de la droite des moindres carrés.
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 suivante
suivante :  d2 y
 A dt2 + B dy
 dt + Cy = D
 y(0)
 = y0
dy
= V0


dt
0
dy
En posant z = dt , le système précédent devient
 dz
 dt = −B Az −
C
Ay + D
A
y(0) = y0
z(0) = V0

On peut généraliser le raisonnement aux équations différentielles d’ordre


n avec conditions initiales. Ainsi, toute équation différentielle d’ordre n avec
conditions initiales peut se ramener à un système de n équations diférentielles
couplées du premier ordre.
Dans le cas général, un problème aux conditions intiales est de la forme
d~
y
= f~(~y ,t)

dt
~y (0) = y0

~y = y1 ,y2 , . . . ,yn
avec
f~ = f1 ,f2 , . . . ,fn

9.2 Méthode d’Euler


Soit l’équation différentielle suivante :
 dy
dy = f (y,t)
y(0) = y0
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 valeur


en l’instant t + ∆t grâce au développement en série de Taylor.

dy (∆t)2 d2 y (∆t)3 d3 y
y(t + ∆t) = y(t) + ∆t + + + ···
dt 2! dt2 3! dt3
À l’ordre 1 de ce développement on obtient :
dy
y(t + ∆t) ' y(t) + ∆t = y(t) + ∆tf (y,t)
dt
Si ∆t est constant, on peut écrire

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

Exemple Soit à résoudre le système suivant :


 dy 2
dt + y = 0
y(0) = 1
1
La solution exacte de ce système est y = t+1 .
Appliquons la méthode d’Euler

f (y,t) = −y 2

yi+1 = yi + ∆tf (yi ,ti ) = yi − ∆ty 2


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

i ti yi exact yi donné par erreur relative


la méthode d’Euler en %
1 0,1 0,90909091 0,90000000 1,00
2 0,2 0,83333333 0,81900000 1,72
3 0,3 0,76923077 0,75192390 2,25
4 0,4 0,71428571 0,69538494 2,65
5 0,5 0,66666667 0,64702892 2,95
7 0,7 0,58823529 0,56854190 3,25
9 0,9 0,52631579 0,50746495 3,58
11 1,1 0,47619048 0,45850815 3,71

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

On constate que l’erreur augmente au fur et à mesure que i augmente. La


mé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 2
Cette méthode est obtenue en prenant les différences centrées au premier
ordre.
36CHAPITRE 9. RÉSOLUTION NUMÉRIQUES DES ÉQUATIONS DIFFÉRENTIELLES

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


Or y1+ 12 est inconnu. On le remplace donc par une valeur estimée notée
yb1+ 12 . On obtient le système suivant :

 yi+1 = yi + ∆tf (b
 y1+ 12 ,ti+ 12 )
∆t
yb1+ 12 = yi + 2 f (yi ,ti )
 t 1 = ti + ∆t

i+ 2 2

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

9.3.2 Méthode de Runge-Kutta à l’ordre 4


Le système à calculer est le suivant :

  
∆t


 yi+1 = yi + 6 f (yi ,ti ) + 2f (b yi+ 12 ,ti+ 12 ) + 2f (yb0 i+ 12 ,ti+ 12 ) + f (b
yi+1 ,ti+1 )
∆t

ybi+ 21 = yi + f (y ,t )

2 i i
 yb0 i+ 1 ∆t

 2
= yi + 2 f (b
y i+ 12 ,ti+ 12 )
∆tf (y 0 i+ 12 ,ti+ 12 )

 yb
i+1 = yi + b

9.4 Formules d’Adams ouvertes


Soit l’équation différentielle suivante :
 dy
dt = f (y,t)
y(0) = y0
Le développement en série de Taylor autour de t donne :

dy (∆t)2 d2 y (∆t)3 d3 y (∆t)n dn y


y(t + ∆t) = y(t) + ∆t + + + · · · +
dt 2! dt2 3! dt3 n! dtn
L’équation différentielle se transforme de la façon suivante :

dy

 dt = y 0 (t) = f (y,t)
 2
d y
= y 00 (t) = f 0 (y,t)


dt2
..


 .
 dn y = y (n) (t) = f (n−1) (y,t)

dtn
(∆t)2 0 (∆t)n (n−1)
où yi+1 = yi + ∆tfi + 2! fi + n! fi .

9.4.1 Formules d’Adams à l’ordre 1


Si 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.
9.4. FORMULES D’ADAMS OUVERTES 37

9.4.2 Formules d’Adams à l’ordre 2


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

(∆t)2 0
yi+1 = yi + ∆tfi + f
2! i
Or,
fi − fi−1
fi0 =
∆t
Donc,

(∆t)2 fi − fi−1
yi+1 = yi + ∆tfi +
2! ∆t
(∆t)
= yi + ∆tfi + (fi − fi−1 )
2
∆t
= yi + (3fi − fi−1 )
2
Pour calculer yi+1 , il faut connaître yi et yi−1 , ce qui interdit l’utilisation de
la 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.
Index

addition, 6 série, 10
affactation, 8 si alors sinon, 7
algorithme, 7 système linéaire, 28
algorithme d’Aitken, 20
alternative, 7 tant que faire, 7
test, 7
bloc, 8
boucle, 7 virgule flottante, 4

début, 8
dichotomie, 14

entier, 4
exposant, 4

faire tant que, 8


fin, 8

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

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

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

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

38