Méthodes Numériques en Traitement Scientifique
Méthodes Numériques en Traitement Scientifique
INTRODUCTION 1
1 METHODOLOGIE DE TRAITEMENT NUMERIQUE DES PROBLEMES SCIEN-
TIFIQUES, CONCEPT DE BASE 2
1.1 NOTIONS DE BASE EN CALCUL NUMERIQUE . . . . . . . . . . . . . . . . . . 2
1.1.1 Utilisation des réels . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.2 Utilisation des fonctions . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.3 Discrétisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.4 Itérations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.1.5 Erreurs d’arrondis et de troncature . . . . . . . . . . . . . . . . . . . 3
1.2 PROBLEMES ET METHODES INSTABLES . . . . . . . . . . . . . . . . . . . . . 3
1.2.1 Problèmes instables ou mal conditionnés . . . . . . . . . . . . . . . . 3
1.2.2 Méthodes instables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3 METHODOLOGIE DE TRAITEMENT NUMERIQUE DES PROBLEMES SCIENTI-
FIQUES. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
1.3.1 Le problème posé . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.2 La méthode de résolution . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.3 L’algorithme . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3.4 La programmation informatique . . . . . . . . . . . . . . . . . . . . . 4
1.3.5 Le traitement machine . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.6 Interprétation des résultats . . . . . . . . . . . . . . . . . . . . . . . 5
2 INTERPOLATION ET APPROXIMATION DES FONCTIONS 6
2.1 GENERALITES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.1.2 Types d’interpolation . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
2.2 INTERPOLATION POLYNOMIALE . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.2.1 Formule d’interpolation de Lagrange . . . . . . . . . . . . . . . . . . 7
2.2.2 Formule d’interpolation de Newton . . . . . . . . . . . . . . . . . . . 10
2.2.3 Erreurs d’interpolation polynomiale . . . . . . . . . . . . . . . . . . . 10
2.2.4 Interpolation spline . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.5 Autres types d’interpolation polynomiale . . . . . . . . . . . . . . . . 12
2.3 INTERPOLATION TRIGONOMETRIQUE, DOUBLE ET INVERSE . . . . . . . . . 12
2.3.1 Interpolation trigonométrique . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Interpolation double . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.3.3 Interpolation inverse . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 APPROXIMATION PAR LA METHODE DES MOINDRES CARRES . . . . . . . . 13
2.4.1 Position du problème . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4.2 Résolution du problème de l’approximation par les moindres carrés . 14
3 INTEGRATION ET DIFFERENTIATION 16
3.1 DERIVATION NUMERIQUE . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.1 Formules classiques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.1.2 Formules plus précises . . . . . . . . . . . . . . . . . . . . . . . . . . 16
3.2 INTEGRATIONS NUMERIQUES- FORMULES DE NEWTON-COTES . . . . . . . . 17
3.2.1 Méthode des trapèzes : . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3.2.2 Algorithme : . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.2.3 Méthode de Simpson . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.3 INTEGRALES MIXTE ET DOUBLE . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.1 Intégrale mixte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.3.2 Interpolation double . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
4 RESOLUTION NUMERIQUE DES EQUATIONS DIFFERENTIELLES ET EQUA-
TIONS INTEGRALES 21
4.1 GENERALITES . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.1 Définition et classification . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.2 Equations différentielles . . . . . . . . . . . . . . . . . . . . . . . . . 21
4.1.3 Position du problème Numérique . . . . . . . . . . . . . . . . . . . . 21
4.2 METHODES POUR LES PROBLEMES A VALEURS INITIALES . . . . . . . . . . . 22
4.2.1 Méthode de Picard . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
4.2.2 Séries de Taylor . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.3 Méthode d’Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
4.2.4 Les méthodes de Runge et Kutta . . . . . . . . . . . . . . . . . . . . 24
4.2.5 Méthodes à pas multiples ou d’Adams Bashforth . . . . . . . . . . . . 26
4.2.6 Méthode de Prédicteur-Correcteur . . . . . . . . . . . . . . . . . . . . 27
4.3 METHODE POUR LES PROBLEMES AUX VALEURS AUX LIMITES . . . . . . . . 28
4.3.1 Méthode de tir . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
4.3.2 Méthode des fonctions complémentaires ou de superposition . . . . . 29
4.3.3 Méthode des différences finies . . . . . . . . . . . . . . . . . . . . . . 30
4.4 LES EQUATIONS INTEGRALES . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4.1 Définition . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.4.2 Résolution numérique des équations intégrales linéaires . . . . . . . . 31
5 SYSTEMES D’EQUATIONS ALGEBRIQUES LINEAIRES ET NON LINEAIRES
33
5.1 METHODES DIRECTES POUR LES SYSTEMES D’EQUATIONS LINEAIRES . . . . 33
5.1.1 Rappel de la méthode de Gauss . . . . . . . . . . . . . . . . . . . . . 33
5.1.2 Méthode de Jordan . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
5.1.3 Méthode de la décomposition triangulaire . . . . . . . . . . . . . . . 34
5.1.4 Méthode de la racine carré de Cholesky . . . . . . . . . . . . . . . . . 36
5.1.5 Fragmentation des systèmes volumineux . . . . . . . . . . . . . . . . 36
5.1.6 Systèmes à coefficients complexes . . . . . . . . . . . . . . . . . . . . 37
5.1.7 METHODES ITERATIVES . . . . . . . . . . . . . . . . . . . . . . . . . 37
5.2 RAPPELS SUR LES METHODES DE NEWTON ET DE BISSECTION POUR LES
EQUATIONS ALGEBRIQUES NON LINEAIRES . . . . . . . . . . . . . . . . . . . 38
5.2.1 Méthode de Newton-Raphson(1960) . . . . . . . . . . . . . . . . . . . 38
5.2.2 Méthode de Dichotomie ou Méthode de Bissection . . . . . . . . . . . 41
5.3 CALCUL DE TOUTES LES RACINES D’UNE EQUATION POLYNOMIALE NON LI-
NEAIRE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.1 Opération sur les polynômes . . . . . . . . . . . . . . . . . . . . . . . 41
5.3.2 Calcul d’une racine réelle, passage à l’équation de degré n − 1 . . . . 43
5.3.3 Calcul de deux racines et passage à l’équation de degré n − 2 . . . . . 44
5.3.4 Formule d’itération de Newton sur l’axe réel . . . . . . . . . . . . . . 44
5.3.5 Méthode de Bairstow . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.3.6 Calcul simultané de toutes les racines . . . . . . . . . . . . . . . . . . 46
Le but de ce cours est de permettre aux scientifiques en général, aux physiciens en particu-
luer d’élaborer des méthodes de calcul numériques utilisables par l’ordinateur pour résoudre
les problèmes de recherche et de développement parmi lesquels :
– Le traitement d’un grand nombre de données issues des mesures expérimentales,
– La résolution de grands systèmes d’équations à plusieurs inconnues,
– La résolution des systèmes d’équations algébriques linéaires, des équations différentielles
et intégrales ainsi que des équations aux dérivées partielles.
Bien qu’il existe sur le marché des logiciels conçus pour traiter la quasi-totalité de des
problèmes su-mentionés, il se trouve que la plupart des problèmes de recherche sont com-
plexes et exigent du chercheur ou de l’ingénieur qu’il écrive lui-même son programme en
tenant compte de tous les critères et conditions particulièrs. De plus, faire fonctionner ces
logiciels demande au chercheur ou à l’ingénieur de comprendre correctement les différentes
étapes à suivre afin d’introduire les données dans le logiciel et recueillir les résultats dudit
calcul.
Le cours comprend essentiellement six chapitres :
– Interpréation et approximation des fonctions
– Intégration et dérivation numérique,
– Méthodes de résolution numérique des équations différentielles,
– Méthodes de résolution numérique des systémes d’équations algébriques linéaires et non
linéaires,
– Méthodes de résolution numérique des équations aux dérivées partielles,
– Introduction à la méthode des élements finis.
Chaque partie du cours furnira d’une part les fondements théoriques des méthodes nu-
mériques et les algorithmes qui seront traduits dans les langages de programmation tels que
FORTRAN, PASCAL et C. Des exemples de problèmes seront présentés à titre d’illustration.
1.1.3 Discrétisation
En calcul numérique, certains problèmes sont par nature continus. Ils font intervenir des
opérations telles que la dérivation et l’intégration. L’ordinateur ne pouvant résoudre de tels
problèmes, on doit les remplacer par des problèmes discrets en utilisant par exemple les
différence finies, les éléments finis, les méthodes particulaires ou spectrales : on parle alors
de discrétisation.
1.1.4 Itérations
Certains problèmes numériques sont souvent formulés en terme de processus successifs ou
d’une suite de calcul, le résultat d’un processus étant lié à celui du processus précédent. On
parle alors d’itération.
Le traitement d’un problème de calcul numérique comprend en général six phases dont
la disposition est la suivante :
1.3.3 L’algorithme
C’est la décomposition en un nombre fini d’opérations élémentaires de la méthode choisie.
L’algorithme peut être complétée par un organigramme. L’organigramme est une étape très
importante du calcul numérique.
- Il confirme ou infirme la réalité du problème posé.
- Il justifie la faisabilité de la méthode proposée.
- Il donne directement accès au programme informatique
- Il permet d’exercer un contrôle sur les performances qui résulteront du traitement infor-
matique : temps d’exécution, encombrement mémoire, précision.
Optimiser un algorithme signifie :
– réduire le temps de calcul machine
– réduire la place occupée en mémoire centrale
– augmenter la précision
Remarque : le langage choisi doit pouvoir satisfaire toutes les opérations figurant explici-
tement dans l’algorithme.
2.1 GENERALITES
Remarques :
Théorème 1 : Toute fonction contenue dans un intervalle [ a , b ] peut être représentée dans
P
N
cet intervalle et pour chaque degré de précision par un polynôme f (x) = an xn .
n=0
Théorème 2 : Toute fonction continue de période 2π peut être représentée par une série
P
N
trigonométrique limitée de la forme f (x) = (an cos nx + bn sin nx). Les coefficients an et
n=0
bn sont déterminés par la connaissance des valeurs discrètes de la fonction sur l’intervalle
[ a , b].
Un polynôme de degré n est définie par ses n + 1 coefficients. Ainsi un polynôme d’in-
terpolation de degré n sera complètement déterminé par la connaissance de n + 1 valeurs
discrètes yn . Il existe plusieurs formules pour déterminer l’interpolation polynomiale.
Détermination de fk (x) :
Soit par exemple un ensemble de deux points (x1 , y1 ) et (x2 , y2 ). Les polynômes fk sont
de degré 1, c’est à dire : ½
f1 (x) = a1 + b1 x
f2 (x) = a2 + b2 x
½ ½
f1 (x1 ) = 1 f2 (x1 ) = 0
P uisque et
f1 (x2 ) = 0 f2 (x2 ) = 1
Il vient
x − x2 x − x1
f1 (x) = ; f2 (x) = ⇒ y(x) = y1 f1 (x) + y2 f2 (x)
x1 − x2 x2 − x1
Si on avait un ensemble de trois (x1 , y1 ), (x2 , y2 ), et (x3 , y3 ) alors les polynômes seraient
de degré 2 et définis par :
(x − x2 ) (x − x3 ) (x − x1 ) (x − x3 ) (x − x1 ) (x − x2 )
f1 (x) = , f2 (x) = , et f3 (x) = .
(x1 − x2 ) (x1 − x3 ) (x2 − x1 ) (x2 − x3 ) (x3 − x1 ) (x3 − x2 )
Si on a un½ensemble de n + 1 points, les polynômes de degré n tel que
1 si k 0 = k
fk (xk0 ) = sont définis par :
0 si k 0 6= k
n+1
,n+1 n+1
Y Y X
fk (x) = (x − xi ) (xk − xi ) et f (x) = fk (x) yk
i=1 i=1 k=1
i6=k i6=k
d’où
Algorithme
Traduction en PASCAL
Program inter ;
Uses crt ;
Const n =?
var xp , yp , ys : real ;
i, k : integer ;
x, y : array[ 1, . . . , n + 1] of real ;
begin
x [1] := ; x [2] := ; . . . ; x [n + 1] := ;
y [1] := ; y [2] := ; . . . ; y [n + 1] := ;
yp := 0 ;
for k = 1 to n + 1 do
begin
ys := 1 ;
for i = 1 to n + 1 do
begin
if i <> k then
begin
ys := ys × (xp − x [i])/(x [k] − x [i]) ;
end ;
yp : = yp + y [k] × ys ;
end ;
write(xp , yp ) ;
end.
Traduction en FORTRAN 77
PROGRAM inter ;
PARAMETER (n =?)
REAL xp , yp , ys
INTEGER i, k
REAL DIMENSION x (n + 1) , y (n + 1)
x (1) =
x (2) =
...
x (n + 1) =
y (1) =
y (2) =
...
y (n + 1) =
xp =
yp =
DO 10 k = 1, n + 1
ys = 1
DO 20 i = 1, n + 1
IF (i . N E . k) GO TO 30
30 ys = ys × (xp − x (i))/(x (k) − x (i))
20 CONTINUE
yp = yp + y (k) × ys
10 CONTINUE
WRITE * , xp , yp
STOP
END.
y = y1 + δ (x1 , x2 ) (x − x1 ) + δ (x1 , x2 , x3 ) (x − x1 ) (x − x2 ) + . . . ,
+δ (x1 , x2 , . . . , xk+1 ) (x − x1 ) (x − x2 ) . . . (x − xk )
b) Par les différences progressives et régressives
La quantité :
∆yk = yk+1 − yk
est appelée différence première progressive. La différence seconde progressive est
∆2 yk = ∆yk+1 − ∆yk
et la différence progressive d’ordre α est définie par :
∆α yk = ∆α−1 yk+1 − ∆α−1 yk .
On définit également la différence régressive d’ordre α de la manière suivante :
Remarque : L’opérateur
¡ ¢ de
¡ différence
¢ centrée sur base entière est définie par :
∆f (x) = f x + h2 − f x − h2 ⇒ ∆fk = fk+1/2 − fk−1/2
La différence entre la formule de Gauss et celle de Hermite réside dans le fait que chez
Gauss les arguments de la fonction sinus sont divisés par deux.
z (x h, y) = f (x , y) = z11 + x−x1
h
+ ∆10 z11 + y−y l
1
∆01 z11 + i
(x−x1 )(x−x2 ) 20 2(x−x1 )(y−y1 ) 11 (y−y1 )(y−y2 ) 02
+ 2!1 h2
∆ z 11 + hl
∆ z 11 + l2
∆ z 11 + · · ·
(x−x1 )(x−x2 )+···+(x−xm−1 ) m0
hm
∆ z11 + m(x−x1 )(x−x2h)···(x−x m−1 l
m−2 )(y−y1 )
∆(m−1)1 z11
1
+ m! + m(m−1)(x−x1 )(x−x2 )···(x−x m−3 )(y−y1 )(y−y2 )
∆(m−2)2 z11 + · · ·
hm−2 l2
+ (y−y1 )(y−yl2m)···(y−ym−1 ) ∆0m z11
∂R ∂R
Pour que R soit minimale, il faut que ∂a 0
= 0 et ∂a 1
= 0.
On trouve
P 2P P P P P P
xk f k − xk xk f k m xk f k − xk f k
a0 = P P et a1 = P P .
m x2k − ( xk )2 m x2k − ( xk )2
En général on choisit f (x) sous la forme f (x) = a0 g0 (x) + a1 g1 (x) + · · · + an gn (x)
où les fonctions gk (x) peuvent être de natures différentes (polynôme rationnel, logarithme,
exponentiel, etc.)
Le système d’équations à résoudre est alors défini de la manière suivante :
Pm
A00 a0 + A01 a 1 + . . . + A 0n a n = g0 (xi ) fi
i=1
A10 a0 + A11 a1 + · · · + A1n an = P g1 (xi ) fi
m
i=1
..
.
P
m
An0 a0 + An1 a1 + · · · + Ann an = gn (xi ) fi
i=1
où m ½
X j = 0, 1, · · · , n
Akj = gk (xi ) gj (xi ) avec
k = 0, 1, · · · , n
i=1
EXERCICE 1 : Les résultats d’une expérience sont donnés dans le tableau suivant :
x 1 2 3 4 5
y 1.6 2 2.3 2.4 2.5
On se propose de déterminer l’expression y = f (x). Pour cela, on choisit a) y = a + xb ,
et b) y = a + xb + c ex . En utilisant la méthode des moindres carrés, calculer les coefficients
a, b et c.
INTEGRATION ET DIFFERENTIATION
f (x + h) − f (x)
f 0 (x) = lim .
h→0 h
On peut également utiliser la formule
f (x + h/2) − f (x − h/2)
f 0 (x) = lim
h→0 h
De la même manière, la dérivée seconde est donnée par :
f (x + h) − 2f (x) + f (x − h)
f 00 (x) = lim
h→0 h2
Cependant, si h est trop petit, la machine commet des erreurs de calcul et d’arrondis dues
aux instabilités. Pour éviter ce genre de problèmes, il faut utiliser des formules plus précises.
x − x2 x − x1 1
f (x) = f (x1 ) + f (x2 ) + f 00 (ξ)(x − x1 )(x − x2 )
x1 − x2 x2 − x1 2
D’où
f (x2 ) − f (x1) 1 00 1 d
f 0 (x) = + f (ξ) [(x − x1 ) + (x − x2 )] + (x − x1 )(x − x2 ) [f 00 (ξ(x))]
x2 − x1 2 2 dx
L’erreur de troncature correspondant à la dérivée par interpolation linéaire est donc
1 1 d
E = f 00 (ξ) [(x − x1 ) + (x − x2 )] + (x − x1 )(x − x2 ) [f 00 (ξ(x))]
2 2 dx
avec ξ ∈ [x1 ; x2 ]
Si nous posons x = x1 et x2 = x1 + h, on obtient
f (x +h)−f (x
f 0 (x1 ) = 1
h
1)
avec une erreur de troncature E = 21 hf 00 (ξ) : C’est la formule
classique donnée précédemment.
b) Dérivée à partir de l’interpolation quadratique
En procédant comme dans le cas d’une interpolation linéaire, et en posant x = x2
on établit que f 0 (x) = f (x+h)−f
2h
(x−h)
avec une erreur de troncature E = 61 h2 f 000 (ξ) où
ξ ∈ [x − h; x + h].
Si l’on posait x = x1 , il viendrait le résultat suivant :
Si f est de classe C 4 sur l’intervalle [a, b] alors pour toutes valeurs de x et h telles que
a < x + 2h < b, il existe ξ ∈ [x − h; x + h] tel que
1 1
f 0 (x) = [−3f (x) + 4f (x + h) − f (x + 2h)] + h2 f 000 (ξ).
2h 3
c) Dérivée à partir de l’interpolation cubique
On obtient le résultat suivant : Si f est de classe C 6 sur l’intervalle [a, b] alors pour
toute valeur de x et h avec a < x − 2h < x + 2h < b , il existe ξ ∈ [x − 2h; x + 2h] tel
que
1 1 d £ (4) ¤
f 0 (x) = [f (x − 2h) − 8f (x − h) + 8f (x + h) − f (x + 2h)] + h4 f (ξ(x)) .
12h 30 dx
EXERCICE 3 : Au cours d’une expérience, les résultats suivants ont été obtenus :
x 1.0 1.10 1.20 1.30 1.40 1.50
y 1.6487 1.7333 1.8221 1.9155 2.0138 2.1170
Calculer les dérivées y 0 aux points x = 1.05; 1.15; 1.25; 1.35 et 1.45.
Théorème de la moyenne : Soient f et g deux fonctions continues sur [a, b]. Si g(x) ne change
Rb Rb
pas de signe sur [a, b], alors il existe η ∈ [a, b] tel que a f (x)g(x)dx =f (η) a g(x)dx.
1 00
Puisque le produit (x−a)(x−b) reste négatif sur [a, b], nous aurons E = − 12 f (ξ)(b−a)3 .
Lorsque l’amplitude de l’intervalle [a, b] n’est pas assez petite, l’on utilise la propriété
d’additivité de l’intégrale pour faire un découpage en morceaux réduits, à savoir :
Z b n Z
X xk
f (x)dx = f (x)dx
a k=1 xk−1
3.2.2 Algorithme :
Cet algorithme permet de calculer une intégrale par la méthode composite des trapèzes.
Il utilise des tableaux pour xk et fk = f (xk ).
1◦ - Définir la fonction f
2◦ - Donner a, b et n
b−a
3◦ - h ← n−1
,S ←0
◦
4 - pour k allant de 0 jusquà n faire
xk ← a + kh
fk ← f (xk )
Fin pour
5◦ - pour k allant de 1 jusquà n − 1 faire
S ← S + hfk
Fin pour
6◦ - Ecrire S
Z b
h
f (x)dx = [f (x0 ) + 4f (x1 ) + 2f (x2 ) + 4f (x3 ) + 2f (x4 ) + ... + 4f (xn−1 ) + f (xn )].
a 3
EXERCICE 7 : Etablir une formule d’intégration numérique qui utilise une interpolation
de degré 3 et qui interpole les points a, b, c = a+b
4
, et d = 3(a+b)
4
.
EXERCICE
R 8: Utiliser la méthode de Simpson pour calculer manuellement l’intégrale I =
1 4
0 1+x2
dx.
EXERCICE 9 : Etablir une formule générale pour une intégrale double en limitant l’inter-
polation à l’ordre deux.
R x=4.4 R y=2.6 dxdy
EXERCICE 10 : calculer I = x=4.0 y=2 xy
pour h = 0.2 et h = 0.3. Comparer à la
valeur exacte.
4.1 GENERALITES
y 0 = f (x, y) (4.2)
Le problème est de trouver la valeur ȳ de y correspondant à x = x0 + h (où en xk =
x0 + kh, k = 1, 2, 3... et h un réel) connaissant y = y0 pour x = x0 . Dans certains cas,
un tel problème peut se résoudre en trouvant les solutions générales et particulières par
les méthodes analytiques classiques (intégration directe, facteur intégrant, transformée de
Laplace, etc.).
Lorsque aucune méthode analytique ne permet de calculer la solution générale, il faut
trouver les méthodes numériques pour approcher la valeur cherchée. En intégrant Eq.(4.2),
on obtient
Z x
y = y0 + f (x, y)dx (4.3)
x0
On a alors
Z x0 +h
ȳ = y0 + f (x, y)dx (4.4)
x0
On peut donc utiliser des méthodes numériques de calcul d’intégrales pour évaluer l’intégrale
ou faire un développement de y(x + h) en série de puissances de h.
et l’intégrale peut être calculée par les méthodes numériques connus telles que la formule des
trapèzes ou celle de Simpson. Connaissant y1 , on obtient y2 en utilisant le même principe
Z x0 +h
y2 = y0 + f (x, y1 )dx (4.6)
x0
Ce processus peut ainsi être répété plusieurs fois. L’approximation d’ordre n étant donnée
par Z x0 +h
yn = y0 + f (x, yn−1 )dx (4.7)
x0
La méthode est acceptable lorsque les yn convergent vers une valeur fixe ȳ (valeur ap-
prochée). Cette méthode nécessite à chaque étape un calcul d’intégrale, ce qui n’est pas
toujours facile. De plus, dans la pratique, elle exige un temps de calcul long, surtout si l’on
veut trouver ȳ en plusieurs points.
y (x + h) = y (x) + hf (x, y) .
Ici, le développement de Taylor se limite à l’ordre 2 et la formule itérative est donc :
yk+1 = yk + hf (xk , yk ) .
C’est la méthode la plus simple mais son inconvénient réside dans le fait qu’elle est souvent
très instable et exige des pas de calcul h très petits.
A’ B’
a b
h
© £ ¤ ª
L≈ 6
f (x0 , y0 ) + 4f x0 + h2 , +y0 + h2 f (x0 , y0 ) + f [x0 + h, y0 + hf (x0 + h, y0 + hf (x0 , y0 ))]
h
© £ ¤ ª
L= 6
f (xk , yk ) + 4f xk + h2 , +yk + h2 f (xk , yk ) + f [xk + h, yk + hf (xk + h, yk + hf (xk , yk ))]
Elle présente une erreur d’ordre o (h5 ). Pratiquement on fait le calcul de la manière sui-
vante : On calcule les quantités Li définies par
L1 = hf (xk , yk )
L2 = hf (xk + h, yk + L1 )
L3 = hf (x
¡ k + h, yk + L2 )¢
L4 = hf xk + h2 , yk + L21
et par la suite on a :
L1 = hf (x
¡ k , yk )h ¢
L2 = hf ¡xk + 2 , yk + L21 ¢
L3 = hf xk + h2 , yk + L22
L4 = hf (xk + h, yk + L3 )
C’est la méthode la plus utilisée. Il existe d’autres variantes (de la méthode ) plus élaborées
telles la méthode de Kutta Merdsen ou de Kutta-Simpson du sixième ordre.
h
yk+1 = yk + 24
{55f (xk , yk ) − 59f (xk−1 , yk−1 ) + 37f (xk−2 , yk−2 ) − 9f (xk−3 , yk−3 )}
Ici il nous faut connaître y0 , y1 , y2 et y3 afin de lancer le processus itératif. On utilise les
formules classiques pour déterminer les valeurs de y0 , y1 , et y2 .
La méthode de tir consiste à choisir γ telle que y 0 (a) = γ et de résoudre le problème aux
valeurs initiales
½ 00
y = f (x, y, y 0 )
y(a) = η1 , y 0 (a) = γ
Le choix de γ est bon lorsque en x = b, on a y(b) ≈ η2 , sinon il faut choisir une autre
valeur pour γ.
Une procédure à utiliser pour le choix de γ est la suivante : on sait que la valeur y(b)
dépend de γ, c’est à dire y(b) = y(b, γ). Pour un bon choix de γ, on doit avoir y(b, γ) − η2 ≈
0 ⇔ f (γ) = 0 où f (γ) = y(b, γ) − η2 . Or d’après la méthode de Newton, le schéma itératif
donnant la solution de cette équation est
f (γn ) y(b, γn ) − η2 (γn − γn−1 )(y(b, γn ) − η2 )
γn+1 = γn − = γ n − = γ n − .
f 0 (γn ) y 0 (b, γn ) y(b, γn ) − y(b, γn−1 )
Ainsi en pratique, on commence par donner une valeur initiale γ0 à γ, ensuite, on choisit
la valeur suivante γ1 , les autres valeurs de γ i.e (γ2 , γ3 , . . . ) sont ensuite évaluées à partir
de la formule ci-dessus.
Où nous avons choisi α0 (x) et α1 (x) tel que y satisfait toujours l’équation (a). En diffé-
renciant l’équation (d) par rapport à x et en identifiant à l’équation (a), on obtient
½ 0
α0 + α02 = p (x) (e)
0
α1 + α0 α1 = q (x) (f )
avec α0 (a) = α00 et α1 (a) = α10 .
Les équations (e) et (f ) sont des équations différentielles du premier ordre que l’on peut
résoudre analytiquement ou numériquement pour trouver α0 (x) et α1 (x).
De l’équation (d) on a
y 0 (b) = α0 (b) y (b) + α1 (b) = β00 y (b) + β10
(
y (b) = βα10 −α1 (b)
0 (b)−β00
(g)
⇒
y 0 (b) = β00 αβ100
(b)−β10 α0 (b)
−α0 (b)
(h)
L’équation (a) est ainsi transformée en trois problèmes auxvaleurs initiales. On peut
en effet résoudre le problème y 00 = p (x) y + q (x) avec les conditions initiales (g) et (h)
ou résoudre le problème y 0 = α0 (x) y + α1 (x) avec la condition initiale (g) obtenue après
résolution de (e) et (f ).
4.4.1 Définition
On appelle équation intégrale une équation dont la fonction inconnue se trouve dans le
symbole d’intégration, par exemple :
Z x
x
y (x) = e sin x + 2 cos (x − t)y (t) dt
0
Une équation intégrale est dite linéaire lorsque la fonction inconnue y intervient avec un
degré 1. On a aussi les équations intégro-différentielles, par exemple
Z x
0
y (x) = 3y (x) + 2x + sin (x − t)y (t) dt
0
Sous la forme générale, les équations intégrales linéaires se présentent de la manière sui-
vante
Z x
y (x) = f (x) + k (x , t)y (t) dt
0
La fonction k (x , t) est appelée noyau de l’équation. Dans les cas simples, les équations
intégrales peuvent se résoudre analytiquement en utilisant par exemple la méthode de la
fonction de Gauss, des transformées de Laplace ou de Mellin, ou par les approximations
successives. Dans le cas contraire, il faut utiliser les méthodes numériques.
y (x) = f (x)+(b − a) [c1 k (x, t1 ) y (t1 ) + c2 k (x, t2 ) y (t2 ) + · · · + cn k (x, tn ) y (tn )] (ii)
où t1 , t2 ,. . . , tn sont les nœuds de subdivision de l’intervalle [ a , b] et les valeurs des
coefficients ci dépendent de la formule d’intégration utilisée. Puisque l’équation (ii) est vé-
rifiée pour tout x ∈ [ a , b], elle est également vérifiée pour x = t1 , x = t2 , · · · , x = tn . Par
conséquent, à partir de l’équation (ii), on obtient un système d’équations de la forme
y (ti ) = f (ti )+(b − a) [c1 k (ti , t1 ) y (t1 ) + c2 k (ti , t2 ) y (t2 ) + · · · + cn k (ti , tn ) y (tn )] (iii)
Pour i allant de 1 à n. Posons y (ti ) = yi et f (ti ) = fi . le système (iii) devient alors
y1 = f1 + (b − a) [c1 k (t1 , t1 ) y1 + c2 k (t1 , t2 ) y2 + · · · + cn k (t1 , tn ) yn ]
y2 = f2 + (b − a) [c1 k (t2 , t1 ) y1 + c2 k (t2 , t2 ) y2 + · · · + cn k (t2 , tn ) yn ]
.. .. .. ..
. . . .
yn = fn + (b − a) [c1 k (tn , t1 ) y1 + c2 k (tn , t2 ) y2 + . . . + cn k (tn , tn ) yn ]
5x
y (x) = 6
− 19 + 13 × 31 × 12 [(t1 + x) y (t1 ) + 4 (t2 + x) y (t2 ) + (t3 + x) y (t3 )] (?)
A = LS
et le système d’équations devient
SX = L−1 b.
Ce dernier système est un système triangulaire que l’on peut résoudre par le schéma
précédent.
b) Décomposition de la matrice
On peut écrire L et S sous la forme
l11 0 0 . . . 0 1 s12 s13 . . . s1n
l21 l22 0 . . . 0 0 1 s23 . . . s2n
. . . 1 s3n
L= ; S=
. . . .
. . . .
ln1 ln2 ln3 . . . lnn 0 0 0 . 1
L’équation LS = A entraîne par identification les relations suivantes
½
aj1 = lj1 1≤j≤n
a1j = l11 s1j 2≤j≤n
½
aj2 = lj1 s12 + lj2 2≤j≤n
a2j = l21 s1j + l22 s2j 3≤j≤n
½
aj3 = lj1 s13 + lj2 s23 + lj3 3≤j≤n
a3j = l31 s1j + l32 s2j + l33 s3j 4≤j≤n
.. .. ..
½ . . .
aj,n−1 = lj1 s1,n−1 + lj2 s2,n−1 + ... + lj,n−2 sn−2,n−1 + lj,n−1 n−1≤j ≤n
an−1,j = ln−1,1 s1j + ln−1,2 s2,j + ... + ln−1,n−1 sn−1,j j=n
½
lj1 = aj1
½ s1,j = a1j /l11
lj2 = aj2 − lj1 s12
½ 2j = (a2j − l21 s1j ) /l22
s
lj3 = aj3 − lj1 s13 − lj2 s23
s3j = (a3j − l31 s1j − l32 s2j ) /l33
.. .. ..
. . .
P
n−2
lj,n−1 = aj,n−1 − ljk sk,n−1
· k=1 ¸
P
n−2
sn−1,j = an−1,j − ln−1,k skj /ln−1,n−1
k=1
P
n−1
lnn = ann − lnk skn
k=1
¯ ¯¯ ¯ ¯ ¯
¯ A1 . A2 ¯ ¯ X1 ¯ ¯ B1 ¯
¯ ¯¯ ¯ ¯ ¯
¯ . . . ¯¯ . ¯ = ¯ . ¯
¯ ¯¯ ¯ ¯ ¯
¯ A3 . A4 ¯ ¯ X2 ¯ ¯ B2 ¯
Les matrices A1 et A2 ne sont pas nécessairement des matrices carrées et la décomposi-
tion par les droites en pointillés est telle que les multiplications matricielles suivantes sont
possibles.
½
A1 X1 + A2 X2 = B1
A3 X1 + A4 X2 = B2
Si A1 est régulière, alors on a
X1 = A−1
1 [B1 − A2 X2 ]
On peut ainsi calculer les éléments de X2 et les substituer dans l’expression de X1 pour
avoir les éléments de X1 , donc toutes les composantes de X. Cette méthode peut être géné-
ralisée en décomposant la matrice en 9, 16, 25,... sous matrices.
Les méthodes directes telles que la méthode d’élimination de Gauss sont appropriées pour
les systèmes de taille moyenne. Pour les systèmes de grande taille il est conseillé d’utiliser les
méthodes itératives qui sont plus rapide, plus facile à programmer et moins encombrantes.
Cependant, ces méthodes sont basées sur le calcul des suites infinies qu’il faudra tronquer
à partir d’un certain rang. D’autre part, aucune méthode itérative ne donne des résultats
assez précis. Il faut en plus que chacune des équations du système possède un coefficient
assez grand devant tous les autres. La résolution se fait alors en exprimant l’inconnu ayant
le plus grand coefficient en fonction des autres inconnues. Pour le choix des valeurs initiales
des itérations, on fixe généralement les inconnues xi = 1 ou xi = 0 pour i = 1 jusqu’à n.
Pour la condition d’arrêt de l’itération, il y a plusieurs méthodes. Elles consistent à arrêter
les itérations lorsque toutes les quantités¯ ¯
¯ ¯ ¯ x(k+1) −x(k) ¯
¯ (k+1) (k) ¯
di = ¯xi − xi ¯ < ε ou aussi di = ¯¯ (k+1) ¯¯ < ε
i i
x i
Cependant le meilleur test de convergence est d’utiliser la condition
Pn ¯ ¯
¯ (k+1) (k) ¯
¯xi − xi ¯
i=1
d= Pn ¯ ¯ < ε.
¯ (k+1) ¯
¯xi ¯
i=1
Ceci suggère que les valeurs connues x1 , x2 , ..., xi−1 , xi+1 , xi+2 , ..., xn soient substituées
pour trouver xi.
La formule itérative de Jacobi est :
n
,
X
= aij xj
(k+1) (k)
xi bi − aii
j=1
j6=i
(k)
où xj , sont les valeurs des inconnues après k itérations.
(k+1)
Dans la formule de Gauss-Seidel, les valeurs xj pour j < i − 1 sont utilisées aussitôt
(k+1)
qu’elles sont déterminées pour calculer xi . La formule itérative de Gauss-Seidel se met
alors sous la forme :
à i−1 n
!,
X (k+1)
X (k)
x(k+1)
i
= bi − aij xj − aij xj aii
j=1 j=i+1
Notons que les deux formules sont importantes car il existe des systèmes d’équations pour
lesquels la méthode de Jacobi converge tandis que la méthode de Gauss-Seidel ne converge
pas. Dans d’autres cas c’est la méthode de Gauss-Seidel qui converge et celle de Jacobi ne
converge pas.
On commence généralement par trouver une solution grossière x0 ou approchée dite ap-
proximation d’ordre zéro. Dans le cas d’un problème de physique, une telle solution peut
être suggérée par la signification du problème ou par une courbe. Généralement, on localise
un intervalle [a, b] tel que x0 appartienne à cet intervalle. Désignons la solution exacte par
x̄ = x0 + h. A l’aide de la formule de Taylor, on obtient,
f (xn )
xn+1 = xn − p
f 0 (xn )
où p est un nombre ou une fonction. On a aussi
g f (xn )
xn+1 = xn −
g f 0 (x
n ) + h f (xn )
c) Condition d’arrêt
La méthode de Newton converge vers la solution exacte x̄, mais on ne connaît pas explici-
tement à quel moment une certaine précision est atteinte. Pour cela, on utilise généralement
le résultat suivant :
Soit x̄ une racine de l’équation f (x) = 0 et soit xn une valeur approchée de x̄. Si sur [a, b]
contenant x̄ et xn on a
|f 0 (x)| ≥ m > 0 alors |xn − x̄| ≤ |f (x
m
n )|
.
Dans la pratique, on pourra prendre m comme m = min (|f 0 (a)| , |f 0 (b)|) et si est E la
précision exigée, s’arrêter lorsque |f (x
m
n )|
< E.
d) organigramme de la méthode (voire figure ci-dessus)
e) Remarques sur les formules du troisième et du premier ordre
En développant la série de Taylor jusqu’à l’ordre 2, on obtient
h2 00
f (x0 + h) = f (x0 ) + hf 0 (x0 ) +
f (x0 ) + O(h3 ).
2
En remplaçant h par h = x − x0 = − ff0 (d’après Newton), on obtient
µ ¶2
f (xn ) 1 f 00 (xn ) f (xn )
xn+1 = xn − 0 − .
f (xn ) 2 f 0 (xn ) f 0 (xn )
Soit l’équation f (x) = 0. De cette équation, on peut tirer x en fonction de x en écrivant
x = g(x), où g est défini à partir de f (x). Dans ce cas on peut écrire xn+1 = g(xn ). C’est la
formule d’itération du premier ordre.
e) Formule de Newton pour les racines complexes
Soit l’équation f (z) = 0 avec z = x + iy ;
on a
f (z0 )
f (z) ≈ f (z0 ) + (z − z0 )f 0 (z0 ) ⇒ z − z0 = −
f 0 (z0 )
Pour le calcul numérique, il faut séparer les parties réelles et imaginaires. On aura donc
df
f (z0 ) = G(x0 , y0 ) + iH(x0 , y0 ), = f 0 (z0 ) = G0 (x0 , y0 ) + iH 0 (x0 , y0 )
dz0
d’où
( GG0 +HH 0 ¯
¯
xn+1 ≈ xn − G02 +H 02 (xn,yn )
GH 0 −HG0 ¯
¯
yn+1 ≈ yn − G02 +H 02 (xn,yn )
b0 = a0
b1 = a1 + b0 x
b2 = a2 + b1 x
..
.
bp = ap + bp−1 x
..
.
bn = an + bn−1 x
bn est alors la valeur numérique cherchée.
Algorithme :
Début
x←
b0 ← a0
Pour k allant de 1 à n faire
bk ← ak + bk−1 x
Fin pour
Ecrire bn = Pn (x)
Fin
La première méthode de calcul exige (2n − 1) multiplications alors que le schéma de
Horner n’en demande que n multiplications et le nombre d’addition est le même dans les
deux cas. De plus le schéma de Horner a l’avantage de n’introduire qu’un type d’opération :
bk = ak + bk−1 x, ce qui facilite la programmation.
Pour un polynôme à coefficients complexes,
G0 = a0 , H0 = b0
Gp = ap + xGp−1 − yHp−1 , Hp = bp + yGp−1 + xHp−1
b) Division d’un polynôme par x − r
En divisant le polynôme
Pn (x) = a0 xn + a1 xn−1 + ... + an−1 x + an par C(x) = x − r on obtient un quotient Q(x)
et un reste R liés entre eux par l’identité P (x) = C(x)Q(x) + R.
Q(x) est un polynôme de degré n − 1 et R est une constante. Ils sont de la forme
b0 = a0
b1 = a1 + b0 r
..
.
avec bp = ap + rbp−1
..
.
b = an−1 + rbn−2
n−1
bn = an + rbn−1
Si bn = 0 alors le polynôme est divisible par x − r c’est-à-dire que r est une racine de
P (x).
Remarques :
? Ces formules sont semblables pour des grandeurs complexes. La seule différence apparaît
dans le calcul effectif qui exige un dédoublement de colonne comme ci-dessus.
? Quand les coefficients ap sont réels et que r = α + iβ on peut diviser P (x) par le facteur
quadratique (x − r)(x − r̄) où r̄ est le complexe conjugué de r.
c) Division d’un polynôme par un facteur quadratique
Soit le polynôme Pn (x) que l’on désire diviser par le facteur quadratique Q2 (x) = x2 −
Sx + P . On a Pn (x) = G2 (x)Qn−2 (x) + R1 (x). Qn−2 (x) et R1 (x) sont respectivement les
polynômes de degré n − 2 et 1 que l’on peut écrire sous la forme
bn = 0 et bn−1 = 0
an
⇒ P = bn−2 et S = P bn−3 −an−1
bn−2
.
Le processus peut alors continuer jusqu’à bn = bn−1 = 0 à la précision choisie. On obtient
finalement un nouveau polynôme de degré n − 2 pour lequel on peut reprendre le calcul pour
retrouver les deux racines suivantes et ainsi de suite, on parvient à résoudre l’équation.
b0 = a0
b1 = a1 + Sb0
b2 = a2 + Sb1 − P b0
..
.
avec bq = aq + Sbq−1 − P bq−2
..
.
bn−2 = an−2 + Sbn−3 − P bn−4
bn−1 = an−1 + Sbn−2 − P bn−3
bn = an + Sbn−1 − P bn−2
Si l’on a bn = 0 et bn−1 = 0, alors S et P sont la somme et le produit de deux racines du
polynôme et les grandeurs bq sont les coefficients du polynôme de degré n − 2. La méthode
de Bairstow consiste à partir des valeurs arbitraires de S et P et de calculer la suite des
coefficients bq .
Soient
F (S, P ) = bn−1 et G(S, P ) = bn − Sbn−1 ,
Si F et G ne sont pas nuls à la précision choisie, alors on améliore S0 et P0 (S0 et P0 étant
les valeurs initiales de S et de P ) par la formule d’itération de Newton à deux variables. Les
deux fonctions de S et de P sont F et G et les formules d’itération se mettent sous la forme
α β
Sk+1 = Sk + et Pk+1 = Pk +
∆ ∆
∂G ∂F ∂F ∂G ∂G ∂F ∂F ∂G
avec α = F −G , β=G −F et ∆ = − .
∂P ∂P ∂S ∂S ∂S ∂P ∂S ∂P
Pour obtenir les dérivées partielles par rapport à S, il suffit de dériver les relations bq par
rapport à S. Pour cela nous posons
∂bq ∂bq
= cq−1 et − bn−1 = cn−1
∂S ∂S
On obtient alors la suite suivante
c0 = b0
c1 = a1 + Sc0
.c2 = a2 + Sc1 − P c0
..
cq = aq + Scq−1 − P cq−2
.
..
cn−2 = Scn−3 − P cn−4
∂bq
Posons ∂P
= −cq−2 ,
On constate que l’on obtient une suite identique à celle définie ci-dessus. Il vient finale-
ment :
α = bn cn−3 − bn−1 cn−2
β = bn cn−3 − bn−1 cn−1
∆ = cn−2 − cn−1 cn−3
Ces formules ont été établies par Bairstow en 1914 pour des besoins d’aéronautique. Avec
ces nouvelles valeurs de S et de P , on calcule à nouveau les coefficients bq et cq ainsi de suite
jusqu’à ce que bn−1 et bn soient nuls à la précision choisie. Une fois que l’on a terminé le
calcul de S et de P , on détermine les deux racines correspondantes par :
1h √ i 1h √ i
x= S ± S 2 − 4P ou x + iy = S ± i −S 2 + 4P .
2 2
Les coefficients restant bq sont ceux de l’équation de degré n − 2. On peut alors recom-
mencer le processus et calculer par paire toutes les racines. Toutefois, si n est impaire, il
restera à la fin une équation de la forme :
b0
b0 + b1 x = 0 ⇒ x = − .
b1
EXERCICE 4 :
On obtient ainsi un schéma itératif du 1er ordre qui permet par approximations successives
d’avoir les trois racines de l’équation.
(k+1) (k) (k)
x1 =³−a1 − x2 − x3 ´.
(k+1) (k) (k) (k) (k) (k)
x2 = a2 − x1 x3 − x2 x3 x1
.³ ´
x(k+1) = −a3 x(k) x(k)
3 1 2
Si les coefficients de l’équation sont réels, les racines complexes se présentent par paires
conjuguées l’une de l’autre. En associant les racines par couple et en faisant apparaître les
sommes et les produits, on opère uniquement sur les quantités réelles.
Pour une équation du 3ieme degré x3 + a1 x2 + a2 x + a3 = 0, si on pose x1 + x2 = S,
x1 x2 = P et x3 = r, les relations de Viete s’écrivent :
S + r + a1 = 0 S = −r − a1
P + rS − a2 = 0 ⇔ P = a2 − rS
rP + a = 0 r = −a /P
3 3
On peut alors partir des valeurs quelconques de S, P et r pour faire le processus itératif
et déterminer ces grandeurs à la précision choisie.
Pour une équation du 4ieme ordre du type x4 +a1 x3 +a2 x2 +a3 x+a4 = 0, on a les relations
suivantes :
S1 + S 2 + a1 = 0
S = x1 + x2
1
S1 S2 + P1 + P2 − a2 = 0 P1 = x1 x2
avec
S1 P2 + S2 P1 + a3 = 0
S2 = x3 + x4
P P −a =0 P =x x
1 2 4 2 3 4
er
On peut alors tirer le schéma itératif du 1 ordre suivant :
S1 = −a1 − S2
P1 = a2 − P2 − S1 S2
S2 = −(a3 + S1 P2 )/P1
P = a /P
2 4 1
où r = x5 .
Remarques
? Relations de Viete
Soit le polynôme de degré n en z défini par : Pn (z) = a0 z n + a1 z n−1 + · · · + an−1 z + an
où les aj et z sont des réels ou complexes.
Soit zj les racines de ce polynôme, on a alors Pn (z) = a0 (z − z1 )(z − z2 ) · · · (z − zn ).
En développant cette expression et après identification des coefficients on obtient les
relations suivantes :
P
a1 = −a0 zi
Pi
a = a zi zj
2 0
i≺j P
a3 = −a0 zi zj zk
i≺j≺k
..
.
an = (−1)n a0 z1 z2 ...zn
? Localisation des racines dans le plan
– Règle des signes de Descartes
Le nombre de racines réelles positives ne peut pas dépasser le nombre de changements
de signe que l’on observe en parcourant la suite des coefficients du polynôme. Il ne peut
différer de ce nombre que par un nombre pair. On a une règle analogue pour les racines
négatives. Il suffit de changer x en −x.
Exemple : L’équation x4 −8x3 +24x2 −32x+15 = 0 n’a pas de racines réelles négatives.
De même, l’équation x4 − 2x3 − 3x2 + 8x − 4 = 0 n’a pas plus de trois racines réelles
positives.
– Règle de Gua
Si le carré d’un coefficient intermédiaire est inférieur ou égal au produit des coefficients
voisins, alors il y a des racines imaginaires.
Exemple : l’équation x3 + 7x2 + x + 7 = 0 possède une racine imaginaire 1 × 1 < 7 × 7
– Règle des lacunes
S’il manque un terme entre deux termes de même signe ou plusieurs termes entre deux
termes de signe quelconque, alors il y a des racines imaginaires.
Exemple : l’équation x3 + 6x + 20 = 0 a le terme en x2 absent et les coefficients des
termes x3 et x sont positifs. On peut donc affirmer qu’il y a des racines complexes.
– Règle de Sturn
Soit a un nombre réel positif, si l’équation (x − a)Pn (x) = 0 présente (2k + 1) variations
de signe de plus que l’équation Pn (x) = 0 alors il y a au moins 2k racines complexes
Exemple : Soit l’équation x3 + 7x2 + x + 7 = 0 et l’équation (x − 1)Pn (x) = x4 + 6x3 −
6x2 + 6x + 7 = 0 présente trois changements de signe, il y a donc 2 racines complexes
pour l’équation Pn (x) = 0.
½
xk+1 = f1 (xk , yk )
yk+1 = f2 (xk , yk )
On peut également généraliser les formules itératives de Jacobi et de Gauss-Seidel. De
même, à partir de la méthode de Newton, le système de deux équations non linéaires à 2
inconnues donne les formules itératives suivantes :
¯
xk+1 = xk + 1 (f2 f1,y − f1 f2,y ) ¯¯ ½
∆ ¯ (xk ,yk ) ∆ = f1,x f2,y − f1,y f2,x
¯ avec
yk+1 = yk + (f1 f2,x − f2 f1,x ) ¯
1 fi,x = ∂f
∂x
i
∆ (xk ,yk )
(1)
En évaluant ce système matriciel, on obtient le vecteur xi . On reprend le processus et
ainsi de suite. A chaque étape on résout le système matriciel :
³ ´ ∂f ³ ´
(k+1) (k) j (k)
xi − xi |x(k) = −fj xi
∂xi i
(k)
Dès que les quantités xi sont trouvées à la précision choisie, on a alors l’ensemble des
racines du système algébrique non linéaire.
6.1.1 Définitions
Considérons une équation aux dérivées partielles d’ordre 2 de la forme :
∂ 2U ∂ 2U ∂ 2U ∂U ∂U
A 2
+ 2B + C 2
+ F ( x, y, U, , )=0
∂x ∂x∂y ∂y ∂x ∂y
où A, B et C sont des fonctions de x et y et sont de classe C 2 .
¨ Si B 2 − AC = 0 alors l’équation est de type parabolique ;
¨ Si B 2 − AC < 0, l’équation est de type elliptique ;
¨ Si B 2 − AC > 0, l’équation est de type hyperbolique.
Pour résoudre une équation aux dérivées partielles, il faut connaître les conditions aux
limites ou aux frontières ainsi que les conditions initiales. La nature de ces conditions permet
de définir les types de problèmes suivants :
- Problème de DIRICHLET pur : les valeurs de U sur les frontières du domaine sont connues.
- Problème de NEUMANN pur : les valeurs des dérivées de U sur les frontières sont connues.
- Problème mixte DIRICHLET-NEUMANN : les valeurs de U sont connues sur une partie
des frontières et celle des dérivées de U sur la partie restante.
- Problème de CAUCHY : les valeurs de U et de ses dérivées sont connues sur les frontières
du domaine.
∂ 2U ∂U ∂2U
ρ(x) + k = T + f (x, t)
∂t2 ∂t ∂x2
6.2 DISCRETISATION
∂ 2U ∂ 2U
+ = f (x, y ) (P )
∂x2 ∂y 2
définie sur un domaine D rectangulaire : D = {(x, y) ∈ R2 \ a < x < b et c < y < d}.
Soit (S) la frontière de D, la condition suivante : U (x, y) = g(x, y) est imposée sur (S). Nous
considérons que les fonctions f et g sont continues sur le domaine D. Soient h et k les pas
de calcul suivant x et y respectivement. Soient n et m les nombres entiers tels que
h = (b − a)/n et (d − c)/m. Un point du domaine D est défini par les cordonnées sui-
vantes :
½
xi = a + ih avec i = 1, 2..., n
yj = c + jk avec j = 1, 2, ..., m
D’après les définitions des dérivées, on a :
" µ ¶ # µ ¶2
2
h h
2 + 1 Ui, j − (Ui+1, j + Ui−1, j ) − (Ui, j+1 + Ui, j−1 ) = −h2 fi,j (P 2)
k k
où fi,j = f (xi , yj ) ; i = 1, 2, . . . , n − 1 ; j = 1, 2, · · · , m − 1.
La discrétisation des conditions aux frontières est la suivante :
U0, j = g(x0 , yj )
j = 0, 1, · · · , m
Un, j = g(xn , yj ) (P 3)
Ui, 0 = g(xi , y0 )
i = 0, 1, · · · , n
Ui, m = g(xi , ym )
En associant les équations (P 2) et (P 3), on obtient le système d’équations algébrique
linéaire en Uij que l’on peut résoudre par la méthode d’élimination de Gauss.
Remarques :
R1 : Lorsque les conditions aux limites sont de type Neumann, le schéma de discrétisation
doit se faire avec beaucoup de précautions. Généralement, il est conseillé de combiner
cette condition avec l’équation aux dérivées partielles de
¯ départ.
¯
Par exemple, si la condition de Neumann s’écrit, ∂U ∂y ¯
= g(x, y), alors on utilise le
S
schéma suivant. On développe U (xi , y1 ) autour du point U (xi , y0 ) ; c’est à dire que l’on
écrit :
∂U (xi , y0 ) k 2 ∂ 2 U (xi , y0 )
U (xi , y1 ) = U (xi , y0 ) + + 2
+ O(k 3 )
∂y 2 ∂y
2
La quantité ∂∂yU2 en (xi , y0 ) peut être remplacée par son équivalent à partir de l’équation
aux dérivées partielles de départ.
∂2U 2
Par exemple, dans le cas de l’équation de Laplace, on a : ∂y 2
= − ∂∂xU2 . Il vient alors :
2 2
U (xi , y1 ) = U (xi , y0 ) + k ∂U (x∂yi ,y0 ) − k2 ∂ U∂x
(xi ,y0 )
2
∂U (xi ,y0 ) k2
= U (xi , y0 ) + k ∂y − 2h2 (Ui+1,0 − 2Ui,0 + Ui−1,0 )
Finalement la condition de Neumann donne :
" µ ¶2 # µ ¶2
k 1 k
Ui,1 − 1 + Ui,0 + (Ui+1,0 + Ui−1,0 ) = kg(xi , y0 ) (P 4)
h 2 h
k2 h2
Ui,j = (U i+1,j + U i−1,j ) + (Ui,j+1 + Ui,j−1 )
2(k 2 + h2 ) 2(k 2 + h2 )
Donc Ui,j est le barycentre des nombres Ui+1,j , Ui−1,j , Ui,j+1 et Ui,j−1 affectés des poids
2 2
respectifs : α = 2(k2k+h2 ) , α, β = 2(k2h+h2 ) , et β.
Puisque ces poids sont tous positifs, Ui,j est donc compris entre la plus grande et la plus
petite des quantités Ui+1,j , Ui−1,j , Ui,j+1 et Ui,j−1 . D’où le théorème suivant :
Le schéma (C2) présente une erreur de troncature d’ordre o(k + h2 ). C’est un schéma
explicite car pour calculer Ui,j+1 , il suffit de remplacer les quantités figurant au second
membre par leurs valeurs connues et stockées en mémoire. Les conditions initiales et
aux limites se discrétisent de la manière suivante :
Ui,0 = f (xi ), i = 0, 1, . . . , m
U0,j = 0 et Um,j = 0, j = 0, 1, 2, . . . , ∞ (C3)
La première condition (C3) peut être substituée dans (C3) pour déterminer Ui,1 pour i
allant de 1 jusqu’à m − 1. La condition U0,j = 0, et Um,j = 0 ⇒ U0,1 = Um,1 = 0. On a
toutes les valeurs de Ui,1 . En procédant de la même manière, on obtient les valeurs de
Ui,2 , Ui,3 ainsi de suite jusqu’à Ui,m−1 . L’inconvénient de cette méthode est qu’elle est
conditionnellement stable. Pour le démontrer il faut déterminer la condition de stabilité.
Condition de stabilité :
∂U Ui,j − Ui,j−1
= (C4)
∂t k
L’équation d’onde (C1) donne alors le système discret suivant :
(1 + λ)Ui,j − Ui+1,j − Ui−1,j = Ui,j−1
1 ≤ i ≤ n − 1; 1≤j≤∞ (C5)
où λ = a2 k/h2 . Compte tenu des conditions initiales, et des conditions aux limites, on
obtient un système matriciel tri diagonal que l’on peut résoudre par les méthodes itéra-
tives ou la méthode d’élimination de Gauss. Pour déterminer la condition de stabilité,
on procède de la même façon que précédemment. On trouve pour ce schéma implicite,
que le facteur d’amplification est
Áµ ¶
rk 4ka2 2 ph
e =1 1 + 2 sin
h 2
Il est toujours inférieur à 1, donc le schéma est inconditionnellement stable.
? Méthode de Richardson
Les méthodes ci-dessus ont une erreur de troncature d’ordre o(k) en k. Si on veut
obtenir o(k 2 ), on utilise la formule suivante :
? Méthode de Cranck-Nicolson
Cette méthode fait la somme des différences finies progressives et regressives. Après
avoir écrit la formule des différences regressives à l’instant j + 1, on obtient :
Ui,j+1 − Ui,j a2
− 2 (Ui+1,j − 2Ui,j + Ui+1,j+1 − 2Ui,j+1 + Ui−1,j+1 ) = 0
k 2h
C’est une méthode plus précise qui présente une erreur d’ordre o(h2 + k 2 ).
? Méthode de Dufort-Frankel
Pour résoudre le problème d’instabilité de la méthode de Richardson, la quantité
Ui,j est remplacée par (Ui,j+1 + Ui,j−1 )/2 et on obtient
Ui,j+1 − Ui,j−1
− a2 (Ui+1,j − Ui,j+1 − Ui,j−1 + Ui−1,j ) /h2 = 0
2k
Ce schéma est inconditionnellement stable.
EXERCICE 2 : Etablir l’algorithme pour le schéma explicite de même que les algorithmes
pour les méthodes des différences régressives et de Cranck-Nicolson.
∂2U 2
2∂ U
− a =0 (O1)
∂t2 ∂x2
∂U (x, 0)
U (0, t) = U (l, t) = 0; U (x, 0) = f (x); = g(x)
∂t
1◦ - Discrétisation directe
La discrétisation de (O1) par les différences finies donne :
Mais (O5) présente une erreur de troncature d’ordre o(k). Pour avoir une erreur d’ordre
o(k 2 ) comme l’équation (O2), on procède de la manière suivante :
Les valeurs propres de la matrice d’amplification sont dans ce cas 1/(1+Ic) et 1/(1−Ic).
Elles ont toutes un module <1. Donc ce schéma implicite est inconditionnellement stable.
½
Vi,j+1 = Vi,j + ak (Wi+1,j+1 − Wi−1,j )/2h + a2 k 2 (Vi+1,j − 2Vi,j + Vi−1,j )/2h
Wi,j+1 = Wi,j + ak (Vi+1,j+1 − Vi−1,j+1 )/2h + a2 k 2 (Wi+1,j − 2Wi,j + Wi−1,j )/2h
7.1.1 Généralités
D’après le principe fondamental de la dynamique, on a pour un écoulement l’équation
ργi = fi + σi,j
où :
fi = résultante des forces autre que les contraintes (Exemplr : forces de gravité)
σi,j = tenseur de contraintes
γi = accélération
ρ = masse volumique du fluide
dui ∂ui ∂~u
γi = = + ui,j uj ⇒ ~γ = = grad (~u.~u)
dt ∂t ∂t
Finalement,
∂~u 1 ¡ ¢
+ rot~u ∧ ~u + grad u2
~γ =
∂t 2
Dans le cas d’un fluide incompressible, on a
∆ψ = −Ω (4)
Les Equations (3) et (4) portant sur Ω et ψ sont couplées. L’équation (4) est linéaire,
tandis que (3) est non linéaire à cause des termes croisés u1 ∂Ω
∂x
et u2 ∂Ω
∂y
. Connaissant ψ, on
peut déduire u1 et u2 .
b) Equation de la pression
La connaissance du vecteur vitesse ~u peut permettre de déterminer la pression. A partir
de l’équation (1.a), On obtient
" µ 2 ¶2 #
∂2ψ ∂2ψ ∂ ψ
∆P = 2ρ 2
+ 2 −
∂x ∂y ∂x∂y
Ainsi connaissant ψ on peut aussi trouver la pression en intégrant l’équation de Poisson
ci-dessus.
c) Conditions initiales et aux limites
Pour les conditions initiales, il s’agit de donner par exemple dans le cas d’un problème plan
les valeurs de u1 et u2 ou de ψ à l’instant initial. Pour ce qui est des conditions aux limites,
désignons par (S) la frontière du domaine D dans lequel les équations de Navier Stokes sont
vérifiées. La vitesse sur la frontière (S) est définie par : ~u = ~us (t) avec la condition de flux
Z Z
~us (t).~nds = div~us dD = 0
s D
υk
On peut établir que la condition de stabilité d’un tel schéma est h2
≤ 14 .
avec
( (
(n) (n) (n) (n)
(n) Ωi,j − Ωi−1,j si u1 > 0 (n) Ωi,j − Ωi−1,j si u2 > 0
Pi,j = (n) (n) Qi,j = (n) (n)
Ωi+1,j − Ωi,j si u1 < 0 Ωi,j − Ωi−1,j si u2 < 0
Ce schéma présente des conditions de stabilité similaires au schéma précédent.
∂ 2 ψ(t) ∂ 2 ψ(t)
+ = −Ω(t − k)
∂x2 ∂ψ ∂x2
u1 = ∂y , u2 = − ∂ψ
∂x
.
La discrétisation de ce nouveau système différentiel peut alors se faire comme dans le cas
de l’équation d’ advection-diffusion. Par exemple, en utilisant la discrétisation centrée en
espace, on obtient le schéma discret suivant :
(n+1)
Ωi,j
(n)
−Ωi,j
(n+1) (n) (n+1) (n) h i
(n−1) Ωi+1,j −Ωi−1,j (n−1) Ωi,j+1 −Ωi,j−1 υk (n) (n) (n) (n) (n)
k
+ u1 2h
+ u2 2h
= h2
Ωi+1,j + Ωi−1 + Ωi,j+1 + Ωi,j−1 − 4Ωi,j
(n) (n) (n) (n) (n)
ψi+1,j + ψi−1,j + ψi,j+1 + ψi,j−1 − 4ψi,j = −h2 Ωi,j
Pour ce qui est de la discrétisation des conditions aux limites sur la frontière (S), on a :
∂u ∂u ∂ 2u
+u = µ 2,
∂t ∂x ∂x
C’est une équation parabolique. On la rencontre dans les problèmes de couches limites où
les équations de Navier Stokes se réduisent à
∂u ∂u ∂ 2u
+u =µ 2
∂x ∂y ∂y
Lorsque le terme de viscosité est absent, l’équation de Burgers se réduit à la forme hy-
perbolique suivante
∂u ∂u
+u =0
∂t ∂x
Cette dernière forme est l’équivalent de l’équation d’Euler de l’écoulement de fluide non
visqueux. De plus, c’est un modèle rencontré en dynamique des gaz dans les tubes ou les
tuyères à section variable. Elle décrit également le son violent que traîne tout avion super-
sonique et qui provoque une gène insupportable pour l’environnement.
Le schéma de Lax ci-dessus est un schéma du 1er ordre. Une amélioration a été faite en 1960
par Lax et Wendroff par l’établissement d’un schéma du 2nd ordre. La procédure utilisée est
la suivante :
∂u(x, t) k 2 ∂ 2 u(x, t)
u(x, t + k) = u(x, t) + k +
∂t 2 ∂t2
Et comme µ ¶
∂u ∂F ∂ 2u ∂ ∂F
=− ⇒ 2 =− .
∂t ∂x ∂t ∂x ∂t
De même
½ ½ ∂F
∂u
∂t
= −A ∂u
∂x ⇒ ∂t
= −A¡∂F
∂x ¢
∂F ∂2F
∂t
= A ∂u
∂t ∂t2
∂
= ∂x A ∂F
∂x
Il vient alors :
µ ¶
∂F k2 ∂ ∂F
u(x, t + k) = u(x, t) + k + A
∂x 2 ∂x ∂x
Et finalement
µ ¶2
k 1 k £ ¤
ui,j+1 = ui,j − (Fi+1,j − Fi−1,j ) + Ai+1/2,j (Fi+1,j − Fi,j ) − Ai−1/2,j (Fi,j − Fi−1,j )
2h 2 h
avec Ai+1/2,j = (ui,j + ui+1,j )/2 et Ai−1/2,j = (ui,j + ui−1,j )/2.
d) Autres Schémas
Il existe d’autres schémas de discrétisation de l’équation de Burgers tels que ceux de Mac
Cormack, Rusanov, Burstein-Mirin, Warming-Kulter, etc. Parmi ces schémas, le plus utilisé
est celui de Mac Cormack qui est de type prédicteur correcteur. Sous sa forme simple, il est
décrit par le schéma suivant :
Prédicteur :
ui,j+1 = ui,j − hk (Fi+1,j − Fi,j )
Correcteur £ : ¡ ¢¤
ui,j+1 = 12 ui,j + ui,j+1 − hk F i,j+1 − F i−1,j+1 .
Les barres indiquent les valeurs prédites.
EXERCICE 2 : L’équation de Van der Waals pour une mole de gaz de masse M est
a
(P + 2 )(V − b) = RM T
V
a, b et R sont des constantes. P , T et V sont respectivement la pression, la température
et le volume. Etablir un algorithme qui permet de calculer le volume V chaque fois que l’on
connaît la température et la pression.
EXERCICE 3 : En 1976, Desantis a établi que le facteur de compressibilité b des gaz réels
vérifie la relation
z = (1 + y + y 2 − y 3 )/(1 − y 3 )
où y = b/4v , v est le volume molaire et z est une constante. On veut trouver b par la
méthode de Newton-Raphson.
1. Expliquer le principe de la méthode.
2. Etablir alors un algorithme permettant de résoudre le problème.
3. Traduire cet algorithme en Fortran.
2. Le problème aux valeurs initiales résultant doit être résolu par la méthode prédicteur-
correcteur.
(a) Expliquer le principe de la méthode prédicteur - correcteur sur une équation diffé-
rentielle du premier ordre.
(b) En déduire l’algorithme de résolution du problème différentiel du troisième ordre
ci-dessus.
EXERCICE 8 :
1. On considère une fonction y de classe C 4 sur un intervalle [a, b].
(a) En utilisant la formule d’interpolation polynomiale de dégré 2, établir que y 0 =
(y(x + h) − y(x − h))/2h où h est le pas de dérivation.
(b) Déduire de (a) une expression pour y 00
2. Soit le problème aux valeurs aux limites y 00 = p(x)y 0 + q(x)y + g(x) défini sur [a, b] avec
y(a) = c et y(b) = d. On veut résoudre ce problème par la méthode des différences
finies. Etablir à partir de question 1. le système algébrique découlant du problème.
3. On veut résoudre le système algébrique ci-dessus par la méthode itérative de Jacobi.
(a) Expliquer le principe de la méthode itérative de Jacobi
(b) Ecrire alors l’algorithme permettant de résoudre le problème.
(c) Traduire l’algorithme en Pascal et en Fortran.
(a) Expliquer comment on peut utiliser la méthode des moindres carrés pour déterminer
les valeurs des coefficients an et an .
(b) Etablir les algorithmes permettant de déterminer ces coefficients.
(c) Traduire l’algorithme en Pascal et en Fortran.
AX = b (4)
(4) où A est une matrice n × n, X et b sont les matrices colonnes de n éléments. Définir
ces matrices.
4. On veut résoudre le système (4) par la méthode de Gauss.
(a) Donner l’algorithme de triangularisation du système.
(b) Ecrire l’algorithme de résolution du système triangularisé.
(c) Traduire ce dernier algorithme en Pascal et Fortran.
5. φ (x) possède un zéro dans l’intervalle [a, b] et on se propose de trouver ce zéro en
utilisant la méthode de bissection. Décrire cette méthode et donner son organigramme.
EXERCICE 16 :
2
1. On considère l’équation de la chaleur ∂u ∂t
= a2 ∂∂xu2 définie sur D = R+ × ]0, l[ avec
u(0, t) = u(l, t) = 0 et u(x, 0) = f (x)
u −u
On veut résoudre cette équation par le schéma explicite avec ∂u ∂t
= i,j+1k i,j .
2
Etablir que la condition de stabilité de ce schéma est ah2k = 12 où k et h sont les pas
temporel et spatial.
2. Que devient cette condition de stabilité dans le cas d’un problème plan : ∂u
∂t
= a2 ∆u ?
On prendra h1 et h2 les pas spatiaux.
3. On considère l’équation d’advection-diffusion dans le plan :
∂Ω ∂Ω ∂Ω
+ u1 + u2 = υ∆Ω
∂t ∂x ∂y
On la discrétise par le schéma centré en espace. Etablir que la condition de stabilité est
υk
h2
≤ 14 où k est le pas temporel et h est le pas spatial suivant x et sur y. Que devient
cette condition dans le cas unidimensionnel ?
3. Exprimer ui,2 = u (x = ih, t = 2k) en fonction des valeurs des fonctions f et g aux points
i − 2, i − 1, i + 1, et i + 2 et des pas h et k.
4. Etablir un algorithme de résolution du système discret obtenu à la question (2).
5. Traduire l’algorithme en Pascal et en Fortran.
∂ 2u ∂ 2u ∂ 2u
a1 + a2 + a3 = a4
∂t2 ∂x∂t ∂x2
définie sur D = R+ × ]0, l[ avec u(x, 0) = f (x) ; ∂u(x,0)
∂t
= g(x) ; u(0, t) = u(l, t) = 0 (t > 0)
Les coefficients ai sont des fonctions de x, t, u, ∂u
∂t
et ∂u
∂x
.
On veut résoudre cette équation par la méthode des caractéristiques. Etablir la méthode
et l’algorithme correspondant.
∂ 2p ∂ 2p
+ =0
∂x2 ∂y 2
1. Faites un adimensionnement de cette équation et précisez les nouvelles conditions sur
la frontière. La pression adimensionnée est u.
2. (a) En utilisant la méthode des différences finies, établir l’équation discrète vérifiée par
ui,j en tout point (xi = i h, yj = j k).
(b) Discrétiser les conditions aux limites.
3. On se propose de trouver les ui,j par la méthode itérative de Gauss-Seidel
(a) Décrire cette méthode itérative.
(b) Etablir l’algorithme de calcul des ui,j .
4. On suppose que le tube a maintenant une forme cylindrique de rayon intérieur R1 =
400mm et de rayon extérieur R2 = 800mm.
(a) Quelle est alors l’équation vérifiée par la pression p ou la grandeur adimensionnée
u.
(b) Proposer une méthode de discrétisation de cette nouvelle équation.
On donne : L = 1000mm, L1 = 500mm, l = 800mm, l1 = 400mm
∂ 2u ∂ 2u
+ = f (x, y)
∂u2 ∂y 2
avec u = g (x, y) sur la frontière.
1. En utilisant la méthode des différences finies, établir l’équation discrète vérifiée par ui,j .
∂2u ∂ 2u
+ =0
∂x2 ∂y 2
∂u
avec u = 0 sur l’hypoténuse et ∂n
= a sur les autres côtés ( n est la normale par rapport
aux côtés considérés).
1. Discrétiser ce problème par la méthode des différences finies.
2. Etablir l’algorithme de calcul des valeurs discrètes ui,j sur toute la plaque.