Programmation Des Méthodes Numériques Utilisant MATLAB)
Programmation Des Méthodes Numériques Utilisant MATLAB)
Polycopie de Cours, TD et TP
Méthodes Numérique avec MA TLAB
Master en Électrotechnique Options :
- Commande et Actionneurs Électriques.
- Réseaux Électriques.
Présenté par :
2015
____________________________________________________
Sommaire
____________________________________________
Sommaire ............................................................................................................... i
Introduction Générale............................................................................................1
[Link] Boumediene
Introduction
Introduction
Cet ouvrage s’adresse aux étudiants en Master d’électrotechnique ou en
formation ingénierie. Le but de ce cours était de présenter aux étudiants
quelques notions théoriques de base concernant les méthodes numériques
permettant de résoudre effectivement de tels problèmes. C’est pour cette
raison qu’une part importante du cours est consacrée à la mise en place d’un
certain nombre de techniques fondamentales de l’analyse numérique :
interpolation polynomiale, intégration numérique, résolution d’un système
d’équations linéaires ou non linéaires à une et plusieurs variables. Son objectif
est de donner au lecteur un outil lui permettant de travailler de manière
autonome à l’aide de questions détaillées et progressives, et d’une construction
pas à pas des programmes.
_______________________________________________________________________________
[Link] Boumediene -1-
Introduction
_______________________________________________________________________________
[Link] Boumediene -2-
Chapitre 1
Initiation au langage
MATLAB
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
MATLAB possède son propre langage, intuitif et naturel qui permet des gains de
temps de CPU spectaculaires par rapport à des langages comme le C, le
TurboPascal et le Fortran. Avec MATLAB, on peut faire des liaisons de façon
dynamique, à des programmes C ou Fortran, échanger des données avec d’autres
applications ou utiliser MATLAB comme moteur d’analyse et de visualisation [3].
_______________________________________________________________________________
-4-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
o la programmation facile,
o la continuité parmi les valeurs entières, réelles et complexes,
o la gamme étendue des nombres et leurs précisions,
o la bibliothèque mathématique très compréhensive,
o l’outil graphique qui inclut les fonctions d’interface graphique et les
utilitaires,
o la possibilité de liaison avec les autres langages classiques de
programmations (C ou Fortran).
Dans MATLAB, aucune déclaration n’est à effectuer sur les nombres. En effet, il
n’existe pas de distinction entre les nombres entiers, les nombres réels, les
nombres complexes et la simple ou double précision. Cette caractéristique rend le
mode de programmation très facile et très rapide [6, 7].
En Fortran par exemple, une subroutine est presque nécessaire pour chaque
variable simple ou double précision, entière, réelle ou complexe. Dans MATLAB,
aucune nécessité n’est demandée pour la séparation de ces variables [8].
_______________________________________________________________________________
-5-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
Pour lancer l’exécution de MATLAB, cliquer deux fois sur l’icône MATLAB [2, 3].
Le caractère ‘>>‘ signifie que MATLAB attend une instruction (syntaxe).
1.2.2. Fenêtres
_______________________________________________________________________________
-6-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
ü Command Window
ü Workspace
ü Current Folder
ü Command History
_______________________________________________________________________________
-7-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
pi 3.1415...
eps 2.2204e-016
Inf nombre infini
NaN Pas de solution, exprime parfois une indétermination
1.3.4. Historique
_______________________________________________________________________________
-8-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
MATLAB garde en mémoire les variables qui ont été créées. On les voit en haut,
à gauche, lorsque MATLAB dispose d’une interface graphique. Sinon, on peut les
afficher et les effacer par la ligne de commande :
MATLAB traite un seul1 type d’objet: les matrices !. Les scalaires sont des
matrices 1×1, les vecteurs lignes des matrices 1×n. les vecteurs colonnes des
matrices n×1 [2, 3].
Les trois principaux types de variables utilisés par MATLAB sont les types réels,
complexe et chaîne de caractères. Il n’y a pas de type entier à proprement parler.
Le type logique est associé au résultat de certaines fonctions. Signalons qu’il est
inutile (impossible) de déclarer le type d’une variable. Ce type est établi
automatiquement à partir des valeurs affectées à la variable. Par exemple les
instructions x = 2 ; z = 2+i ; rep = ‘oui’ ; définissent une variable x de type
réel, une variable z de type complexe et une variable rep de type chaîne de
caractères.
>> clear
>> x = 2; z = 2+i; rep = ‘oui’;
>> whos
L’unité imaginaire est désignée par i ou j. Les nombres complexes peuvent être
écrits sous forme cartésienne a+ib. Les différentes écritures possibles sont a+ib,
a+i*b, a+b*i, a+bi et r*exp(it) ou r*exp(i*t) avec a, b, r et t des
variables de type réel. Les commandes imag, real, abs, angle permettent de
passer aisément de la forme polaire à la forme cartésienne et réciproquement. Si
z est de type complexe, les instructions imag(z) et real(z) retournent la partie
imaginaire et la partie réelle de z. Les instructions abs(z) et angle(z)
retournent le module et l’argument de z.
_______________________________________________________________________________
-9-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
On fera attention au fait que les identificateurs i et j ne sont pas réservés. Aussi
il est possible que des variables de noms i et j aient été redéfinies au cours d’un
calcul antérieur et soient toujours actives.
>> y = [1+i, 2, 3 i]
y =
1.0000 + 1.0000i 2.0000 3.0000 0 + 1.0000i
Si une chaîne de caractères doit contenir le caractère apostrophe (‘) celui-ci doit
être doublé dans la chaîne (ainsi pour affecter le caractère apostrophe (‘) à une
_______________________________________________________________________________
-10-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
Le type logique (logical) possède deux formes : 0 pour faux et 1 pour vrai. Un
résultat de type logique est retourné par certaines fonctions ou dans le cas de
certains tests. Dans l’exemple qui suit on considère une variable x contenant la
valeur 123 et une variable y définie par l’expression mathématique y =
exp(log(x)). On teste si les variables x et y contiennent les mêmes valeurs. La
variable tst est une variable de type logique qui vaut 1 (vrai) les valeurs sont
égales et 0 (faux) sinon. Suivant la valeur de tst, on affiche la phrase x est egal a
y ou la phrase x est different de y. Dans l’exemple proposé, compte-tenu des
erreurs d’arrondis lors du calcul de exp(log(123)), la valeur de la variable y
ne vaut pas exactement 123. On pourra également considérer le cas où x = 12.
>> if tst, disp(‘x est egal a y ‘), else disp(‘x est different
de y ‘), end x est different de y
>> whos
_______________________________________________________________________________
-11-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
Un vecteur peut également être défini « par blocs » selon la même syntaxe. Si par
exemple x1, x2 et x3 sont trois vecteurs (on note x1, x2 et x3 les variables
MATLAB correspondantes), on définit le vecteur X = (x1 | x2 | x3) par
l’instruction X = [x1 x2 x3].
Les éléments d’un vecteur peuvent être manipulés grâce à leur indice dans le
tableau. Le kème élément du vecteur x est désignée par x(k). Le premier
élément d’un vecteur a obligatoirement pour indice 1.
>> X(5)
ans =
5
_______________________________________________________________________________
-12-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
>> X(4:10)
ans =
4 5 6 7 8 9 10
>> X([Link])
ans =
2 4 6 8 10
>> K = [1 3 4 6]; X(K)
ans =
1 3 4 6
Il est très facile de définir un vecteur dont les composantes forment une suite
arithmétique. Pour définir un vecteur x dont les composantes forment une suite
arithmétique de raison h, de premier terme a et de dernier terme b, on écrira
x = a:h:b.
>> x = 1.1:0.1:1.9
x =
Columns 1 through 7
1.1000 1.2000 1.3000 1.4000 1.5000 1.6000 1.7000
Columns 8 through 9
1.8000 1.9000
>> x = 1.1:0.2:2
x =
1.1000 1.3000 1.5000 1.7000 1.9000
Les commandes ones, zeros et rand permettent de définir des vecteurs dont les
éléments ont respectivement pour valeurs 0, 1 et des nombres générés de
manière aléatoire.
_______________________________________________________________________________
-13-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
D’une façon générale, on définit une matrice en donnant la liste de ses éléments
entre crochets. Signalons que MATLAB admet d’autres façons d’écrire les
matrices. Les éléments d’une ligne de la matrice peuvent être séparés au choix
par un blanc ou bien par une virgule (,). Les lignes quant à elles peuvent être
séparées au choix par le point-virgule (;) ou par un retour chariot. Par exemple,
on peut aussi écrire la matrice A de la manière suivante :
_______________________________________________________________________________
-14-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
Les deux opérateurs sont les mêmes que pour les scalaires. A partir du
moment où les deux tableaux concernés ont la même taille, Le tableau
résultant est obtenu en ajoutant ou soustrayant les termes de chaque tableau.
Ces opérateurs sont notés .*, ./ et .^ (attention à ne pas oublier le point). Ils
sont prévus pour effectuer des opérations termes à terme sur deux tableau de
même taille. Ces symboles sont fondamentaux lorsque l’on veut tracer des
courbes.
[Link]. Transposition
_______________________________________________________________________________
-15-
[Link] Boumediene
Chapitre 1 Initiation au langage MATLAB
ligne colonne
_______________________________________________________________________________
[Link] Boumediene -16-
Chapitre 1 Initiation au langage MATLAB
Voici par exemple comment définir le polynôme p(x) = x2−1. Tracer le graphe
de la fonction polynômiale.
Les polynômes sont gérés, sous MATLAB, par des vecteurs de coefficients dans
l’ordre décroissant.
Aussi le polynôme : x5 + 2x4 - x2 -x + 1
est-il représenté sous MATLAB par le vecteur [1 2 0 -1 -1 1]. Prenons la
variable x :
_______________________________________________________________________________
[Link] Boumediene -17-
Chapitre 1 Initiation au langage MATLAB
x = -5 :0.01 :5 ;
puis taper :
polyval(p,x)
polyder(p)
polyder(p,x)
_______________________________________________________________________________
[Link] Boumediene -18-
Chapitre 1 Initiation au langage MATLAB
sin(x) sinus,
asin(x) sinus inverse (arcsin),
tan(x) tangente,
atan(x) tangente inverse (arctan),
cosh(x) cosinus hyperbolique (ch),
acosh(x) cosinus hyperbolique inverse (argch),
sinh(x) sinus hyperbolique (sh),
asinh(x) sinus hyperbolique inverse (argsh),
tanh(x) tangente hyperbolique (th),
atanh(x) tangente hyperbolique inverse (argth).
1.10. Entrées-sorties
Deux commandes utiles pour gérer le workspace, dont la taille dépend de votre
espace de swap [3, 6]:
Pour sauvegarder une ou plusieurs variables il faut taper
save [NomFichier] var1 var2 [...] varn
ou pour sauvegarder l’espace de travail au complet, cliquer sur File -> Save
Workspace As...
>> save % écrit toutes les variables du workspace dans le fichier [Link]
_______________________________________________________________________________
[Link] Boumediene -19-
Chapitre 1 Initiation au langage MATLAB
Un script (ou M-file) est un fichier (message.m par exemple) contenant des
instructions MATLAB [5, 6].
Voici un exemple de script:
% message.m affiche un message
% ce script affiche le message que s’il fait beau
beau_temps=1;
if beau_temps~=0
disp(’Hello, il fait beau’)
end
return % (pas nécessaire à la fin d’un M-file)
MATLAB vous offre un éditeur pour écrire et mettre au point vos M-files:
>> message
Hello, il fait beau
_______________________________________________________________________________
[Link] Boumediene -20-
Chapitre 1 Initiation au langage MATLAB
initialisations
while expression logique
Ici ce que tu veux faire
end
>> x=1
while x<14
x=x+5
end
x =
6
x =
11
x =
16
Il existe deux structures possibles permettant de réaliser des tests sur les
données [3, 5].
1.13.1. La structure if
_______________________________________________________________________________
[Link] Boumediene -21-
Chapitre 1 Initiation au langage MATLAB
if condition 1
commandes
elseif condition 2
commandes
elseif condition 3
commandes
.
.
.
else
commandes
end
switch variable_testé
case choix 1 (variable_testé avec choix 1)
commandes
case choix 2
commandes
case choix 3
commandes
.
.
.
otherwise
commandes
end
_______________________________________________________________________________
[Link] Boumediene -22-
Chapitre 1 Initiation au langage MATLAB
case 'lundi'
jr = 5;
case 'mardi'
jr = 4;
case 'mercredi'
jr = 3;
case 'jeudi'
jr = 2;
case 'vendredi'
jr = 1;
otherwise
jr = 0;
end
disp([ 'Encore ' num2str(jr) ' jours avant le weekend' ])
Une instruction graphique ouvre une fenêtre dans laquelle est affiché le
résultat de cette commande. Par défaut, une nouvelle instruction graphique
sera affichée dans la même fenêtre et écrasera la figure précédente. On peut
ouvrir une nouvelle fenêtre graphique par la commande figure. Chaque
fenêtre se voit affecter un numéro. Ce numéro est visible dans le bandeau de la
fenêtre sous forme d’un titre. Le résultat d’une instruction graphique est par
défaut affiché dans la dernière fenêtre graphique ouverte qui est la fenêtre
graphique active [4].
1.14.1. Graphique 2D
Pour tracer des courbes, il existe deux fonctions principales : plot et fplot.
La fonction plot(X,Y) trace la courbe dont Y en fonction de X.
C’est avec cette fonction qu’il faut tracer des courbes lorsque nous avons des
données expérimentales. Il suffit de les mettre dans une matrice [4].
_______________________________________________________________________________
[Link] Boumediene -23-
Chapitre 1 Initiation au langage MATLAB
f=’sin’;
fplot(f,[-2*pi 4*pi])
Lorsque vous avez plusieurs graphiques à tracer dans un même fichier, pour
que tous s’affichent en même temps, il faut indiquer l’instruction figure avant
chaque graphique à tracer afin de créer une nouvelle figure pour chacun d’eux.
_______________________________________________________________________________
[Link] Boumediene -24-
Chapitre 1 Initiation au langage MATLAB
figure
fplot(’[log(x)*sin(x)*3 log(x) sin(x)]’,[1 20 -10
10])
title(’Fonctions sinus et logarithme naturel’)
xlabel(’axe des X’)
ylabel(’axe des Y’)
gtext(’texte placé manuellement’)
text(11,9,’texte placé en avance’)
legend(’log*sin’,’log’,’sin’,0)
grid
plot(x,y1,x,y2)
legend(’f(x)’,’dérivé de f(x)’)
grid
plot(x,y1)
grid
hold on
plot(x,y2)
legend(’f(x)’,’dérivé de f(x)’)
hold off
f=’[tan(x),sin(x),cos(x)]’;
fplot(f,2*pi*[-1 1 -1 1])
_______________________________________________________________________________
[Link] Boumediene -25-
Chapitre 1 Initiation au langage MATLAB
subplot(2,2,1) subplot(2,2,2)
subplot(2,2,3) subplot(2,2,4)
t = 0:0.3:2*pi;
x = cos(t);
y = sin(t);
figure
subplot(2,1,1);
plot(t,x)
subplot(2,1,2);
plot(t,y)
Pour tracer les courbes, plusieurs options sont offertes. L’usager peut fait le
choix entre le type de traits et de point utilisé, ainsi que la couleur. On utilise
la fonction plot(X,Y,S) où S indique le choix d’option entre guillemets [4].
_______________________________________________________________________________
[Link] Boumediene -26-
Chapitre 1 Initiation au langage MATLAB
figure X2 = 0:.5:5;
X1 = 0:.1:2*pi
plot(sin(X1),’g*-.’) plot(exp(X2),’md:’);
1.14.3. Échelles
Plusieurs fonctions pour tracer des graphiques sont disponibles pour les différentes
échelles [4]:
plot(x,y) linéaire x-y
polar(theta,r) polaire
loglog(x,y) logarithmique x-y
bar(x,y) barres
semilogx(x,y) logarithmique x, linéraire y
stairs(x,y) escalier
semilogy(x,y) linéaire x, logarithmique y
hist(y,x) dessine l’histogramme
x=-10:.5:10;
y=x.^2+x.*2+3;
subplot(2,2,1), polar(x,y), grid on
subplot(2,2,2), loglog(x,y),grid on
subplot(2,2,3), semilogx(x,y), grid on
subplot(2,2,4), semilogy(x,y), grid on
Il est possible de copier la figure une fois qu’elle est ouverte, il suffit d’aller dans le
menu Edition → Copy figure pour coller dans un fichier .doc (word)
· Exemple :
%utilisant subplot
subplot(1,2,1);
plot(x,y,'rp'), grid
subplot(1,2,2);
plot(x,z,'gp'), grid
title('Fonction')
xlabel('x');
_______________________________________________________________________________
[Link] Boumediene -27-
Chapitre 1 Initiation au langage MATLAB
Fonction Fonction
1 1
0.8 0.8
0.6 0.6
0.4 0.4
0.2 0.2
F(x)
F(x)
0 0
-0.2 -0.2
-0.4 -0.4
-0.6 -0.6
-0.8 -0.8
-1 -1
-4 -2 0 2 4 -4 -2 0 2 4
x x
1.14.4. Graphique 3D
a) plot3
t = linspace(0, 10*pi);
plot3(sin(t), cos(t), t)
xlabel(’sin(t)’), ylabel(’cos(t)’), zlabel(’t’)
grid on
b) mesh
x = linspace(-3, 3, 30);
y = linspace(-3, 3, 30);
[X Y] = meshgrid(x,y);
Z = peaks(X, Y)
mesh(X, Y, Z)
meshc(X, Y, Z)
c) surfl
[X,Y,Z] = peaks(30);
surfl(X,Y,Z)
shading interp
colormap pink
d) contour
[X,Y,Z] = peaks(30)
contour(X,Y,Z,20)
_______________________________________________________________________________
[Link] Boumediene -28-
Chapitre 2
Résolution de l’équation
non linéaire f(x) = 0
[Link] Boumediene
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
2.1. Introduction
On considère une fonction réelle « f » définie sur un intervalle [a, b], avec a < b,
et continue sur cet intervalle et on suppose que f admet une unique racine sur
I =]a, b[, c’est-à-dire qu’il existe un unique α Î I tel que f(α) = 0.
La méthode de dichotomie Figure 2.1 consiste à construire une suite (xn) qui
converge vers α de la manière suivante :
y=f(x)
x0
x1 x2
a x3 b
_______________________________________________________________________________
[Link] Boumediene -30-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
telle que
y=g(x)
a α b a α b
Le choix d’une méthode est conditionné par les réponses aux questions
suivantes :
_______________________________________________________________________________
[Link] Boumediene -31-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
2.3.1. Définition
2.3.2. Proposition
2.3.3. Théorème
Si g est une application définie sur l’intervalle [a, b] à valeurs dans [a, b], alors
la suite (xn) définie par x0 Î [a, b] et la relation de récurrence xn+1 = g(xn)
converge vers l’unique solution α de l’´equation x = g(x) avec α Î [a, b].
Démonstration : la suite (xn) est bien définie car g([a, b]) Î [a, b].
On en déduit que
|xn+p − xn| ≤ Ln|x1 − x0|(1 − Lp)/(1 – L)≤ |x1 − x0|Ln/(1 – L) (2.6)
Cette suite vérifie le critère de Cauchy ; elle est donc convergente vers α Î [a,
b], or l’application g est continue donc la limite α vérifie g(α) = α.
On a aussi une évaluation de l’erreur en faisant tendre p vers l’infini, on
obtient
|α − xn| ≤ |x1 − x0|Ln/(1 – L) (2.7)
On constate que, pour n fixé, l’erreur est d’autant plus petite que L est proche
de 0.
_______________________________________________________________________________
[Link] Boumediene -32-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
· Remarque :
L’hypothèse « f dérivable » suffirait, mais demanderait une rédaction un peu
plus fine des démonstrations.
La méthode de la sécante consiste à construire une suite (xn) qui converge vers
α de la manière suivante : soit D 0 la droite passant par (a, f(a)) et (b, f(b)), elle
coupe l’axe OX en un point d’abscisse x0 Î ]a, b[. On approche donc la fonction f
par un polynôme P de degré 1 et on résout P(x) = 0.
(b, f(b))
D0
x0 x1
a a b
f (x 0 )
y = f(x)
(a, f(a))
Plaçons-nous dans le cas où f′ > 0 est dérivable et f est convexe, alors la suite
(xn) est définie par :
ì x0 = a
ï
íx = b × f ( x n ) - x n × f ( b) (2.8)
ïî n +1 f (x n ) - f ( b)
_______________________________________________________________________________
[Link] Boumediene -33-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
· Remarque :
Si « f » est convexe, alors sa représentation graphique est au dessus des
tangentes et en dessous des cordes.
On pose :
b × f (x ) - x × f ( b) b-x
g(x ) = =x- f (x ) (2.10)
f (x ) - f ( b) f ( b) - f ( x )
Pour cela, il suffit de montrer que g([a, b]) Î [a, b]. Vérifions d’abord que g est
de classe C1 sur [a, b]. Elle l’est de manière évidente sur [a, b[. L’application g
est continue en b et g(b) = b − f(b)/f′(b). On a, pour tout x Î [a, b[
b-x f ( b) - f ( x ) - ( b - x ) × f ¢( x )
g¢( x ) = 1 - f ¢( x ) + f (x )
f ( b) - f ( x ) ( f ( b) - f ( x ))2
(2.11)
f ( b) - f ( x ) - ( b - x ) × f ¢( x )
= f ( b)
( f ( b) - f ( x ))2
La croissance de g montre que la suite (xn) est croissante car x1 = g(a) ≥ a = x0,
or elle est dans l’intervalle [a, b], donc elle converge vers l Î [a, b] tel que, par
continuité de g, g(l) = l. De plus, x0 ≤ α donc une récurrence immédiate et
la croissance de g montrent que, pour tout entier n, xn ≤ α. On en déduit que l ≤
α, c’est-à-dire que l Î ]a, b[.
Soit x Î ]a, b[ tel que f(x) = 0, alors il est immédiat que g(x) = x.
Réciproquement, soit x Î ]a, b[ tel que g(x) = x, alors (b – x)· f(x)/(f(b) − f(x))
= 0, or x ≠b et f(x) ≠ f(b) car f est strictement croissante et x Î ]a, b[. On en
déduit que f(x) = 0. Il y a unicité de la racine de f, donc l = α et la suite (xn)
converge vers α.
xn - a
lim = g ¢( a ) = g ¢(a ) (2.12)
n ® +¥ x n +1 - a
_______________________________________________________________________________
[Link] Boumediene -34-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
Pour obtenir une convergence plus rapide, on peut chercher u tel que g′(α) = 0.
On a, si les fonctions ont les régularités nécessaires,
g′(x) = 1 + u′(x)·f(x) + u(x)·f′(x) et on en déduit que g′(α) = 0 si u(α) = −1/f′(α).
2.5.2. Théorème
De plus,
xn+1 − α = g(xn) − g(α) = g′(ξ)(xn − α) (2.14)
avec ξ Î ]xn, α[.
Or
g′(x) = f(x)·f′′(x)/(f′(x))2 (2.15)
donc g′(ξ) > 0 et xn+1 ≤ α.
La suite (xn) est croissante et majorée ; elle est donc convergente. Notons ℓ sa
limite. La continuité de g permet d’écrire que ℓ = g(ℓ) et donc f(ℓ) = 0 d’où ℓ = α.
_______________________________________________________________________________
[Link] Boumediene -35-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
(b, f(b))
f (x1 )
a a x1 b
· Remarque :
Si on prenait la tangente à la courbe en (a, f(a)), son intersection avec l’axe Ox
ne serait pas, sur ce dessin, dans l’intervalle [a, b].
1) la méthode de Dichotomie ;
2) la méthode du point fixe ;
3) la méthode de Newton.
· Solutions :
f(x) est continue sur [1, 2] et f(1)·f(2) = (-5)·(14)< 0, donc d’après la méthode de
Dichotomie il existe au moins un x*Î [1, 2] tel que f(x*)=0.
_______________________________________________________________________________
[Link] Boumediene -36-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
n an bn xn f(xn)
0 1 2 1.5 +2.375
1 1 1.5 1.25 -1.79687
2 1.25 1.5 1.375 +0.16211
3 1.25 1.375 1.3125 -0.84839
4 1.3125 1.375 1.34375 -0.35098
5 1.34375 1.375 1.35937 -0.09641
6 1.35937 1.375 1.36718 +0.03236
7 1.35937 1.36718 1.36328 -0.03215
8 1.36328 1.36718 1.36523 0.000072
Test d’arrêt :
ξ=10-3 c’est-à-dire |x8 – x7| ≤ ξ ; Alors x* = x8 = 1.36523
4) Test d’arrêt :
ξ=10-3 c’est-à-dire |x5 – x4| ≤ ξ ; Alors x* = x5 = 1.3652
L’équation f(x) = x3+4x2-10 et leur dérivé est f’(x) = 3x2+8, alors on part de x0 =
1.5 et en appliquant la formule de Newton :
xn+1 = xn − f(xn)/f′(xn)
On obtient :
xn+1 = xn – (xn3+4xn2-10) /(3xn2+8)
_______________________________________________________________________________
[Link] Boumediene -37-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
_______________________________________________________________________________
[Link] Boumediene -38-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
v Fichier :dichotomie.m
% ENTREES
% f = fonction objet de type "string"
% [a,b] = intervalle comprenant un (seul) zéro de la fonction
% epsilon = précision souhaitée sur le zéro cherche
% maxit = nombre maximum d'itérations
% SORTIES
% x = suite des approximations du zéro de f
% i = nombre d'itérations
% Test sur les bornes de l'intervalle [a,b]
ya = feval(f.a);
yb = feval(f,b);
ifya*yb > 0.0
error ('Les valeurs de la fonction faux bornes de
T’’intervalle [a,b] sont de même signe.');
end
% Dichotomie
for i = l:maxit % Pour i variant de 1 a maxit.
x(i) = (a+b)/2; % Calcul de la ième approximation.
y = feval(f,x(i)); % Si la précision souhaitée est
% atteinte, stopper.
if (x(i) - a) < epsilon
disp ('Convergence atteinte');
_______________________________________________________________________________
[Link] Boumediene -39-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
break;
end
if y = = 0.0
disp ('Zéro trouvé'); % Si le zéro est trouve, stopper.
break;
elseif y * ya < 0.0
b = x(i); % Si la fonction prend des valeurs
% de signes opposes
yb = feval(f.b); % en x(i) et en a, remplacer la
% borne b par x(i).
else
a = x(i); % Dans le cas contraire, remplacer
% la borne a par x(i).
ya = feval(f,a);
end
if i = = maxit
disp ('Zéro non trouvé'); % Si le nombre max d'itérations
% est atteint, stopper.
break;
end
end
v Fichier PointFixe.m
function[X,y,err,k] = PointFixe(g,xl,delta,epsilon,maxit)
_______________________________________________________________________________
[Link] Boumediene -40-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
% ENTREES
% g = fonction (objet de type string).
% xl = approximation initiale du zéro.
% delta = tolérance sur l'approximation du zéro.
% epsilon = tolérance sur la valeur de y.
% maxit = nombre maximum d'itérations.
% SORTIES
% X = suite des approximations du zéro.
% y = valeur prise par f pour la dernière valeur approchée
% obtenue.
% err = estimation de l'erreur commise sur le zéro.
% k = nombre d'itérations.
X(l) = xl;
for k = l:maxit
X(k+1) = feval(g,X(k));
err = abs(X(k+l)-X(k));
y - feval(f,X(k+l));
if (err < delta) & (abs(y) < epsilon)
break
end
end
_______________________________________________________________________________
[Link] Boumediene -41-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
% par la relation
% b - a
% x = b - f(b) --------------
% f'(b) - f(a)
%
% Des valeurs de f(a) et f(b) très voisines risquent de provoquer
% une division par 0 au cours du processus.
% ENTREES
% f = fonction (objet de type string).
% a.b = deux premières valeurs approchées du zéro.
% delta = tolérance sur l'approximation du zéro.
% epsilon = tolérance sur la valeur de y.
% maxit = nombre maximum d'itérations.
% SORTIES
% X = suite des approximations du zéro.
% err = estimation de l'erreur commise sur le zéro.
% y = valeur prise par f pour la dernière valeur approchée
% obtenue.
% k = nombre d'itérations.
X(l) = a;
X(2) = b;
yp = feval(f,a);
y = feval (f,b);
for k = 1: maxit
X(k+2) = X(k+l)-y*(X(k +l)-X(k))/(y-yp);
yp - y;
y = feval(f,X(k+2));
en = abs(X(k + l)-X(k));
if (err < delta) & (abs(y) < epsilon)
break
end
end
_______________________________________________________________________________
[Link] Boumediene -42-
Chapitre 2 Résolution de l’équation non linéaire f(x) = 0
v Fichier Newton.m
function[X,y,err,k] = Newton(f,df,xl,delta,epsilon,maxit)
% ENTREES
% f = fonction (objet de type string).
% df = idem, sa dérivée (a calculer soi-même).
% xl = approximation initiale du zéro.
% delta = tolérance sur l'approximation du zéro.
% epsilon = tolérance sur la valeur de y.
% maxit = nombre maximum d'itérations.
% SORTIES
% X = suite des approximations du zéro.
% err = estimation de l'erreur commise sur le zéro.
% y = valeur prise par f pour la dernière valeur approchée
% obtenue.
% k = nombre d'itérations.
X(l) = xl;
for k = 1 :maxit
X(k+1) - X(k) - feval(f,X(k))/feval(df,X(k));
err = abs(X(k+l)-X(k));
y = feval(f,X(k + l));
if (err < delta) & (abs(y) < epsilon)
break
end
end
_______________________________________________________________________________
[Link] Boumediene -43-
Chapitre 3
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
3.1. Introduction
3.2. Généralités
éa11 0 0 0 ù
ê0 a 22 0 0 úú
ü Si la matrice A = ê → dite matrice Diagonale.
ê0 0 a 33 0 ú
ê ú
ë0 0 0 a 44 û
ü Si les éléments diagonaux de A sont égaux à 1 → dite matrice Unité.
ü « A » matrice est dite Régulière si det(A)≠0, sinon est dite Singulière.
éa11 a12 a13 a14 ù
ê0 a a 23 a 24 úú
ü « A » matrice est dite Triangulaire Supérieur si ê 22
.
ê0 0 a 33 a 34 ú
ê ú
ë0 0 0 a 44 û
éa11 0 0 0 ù
êa a 22 0 0 úú
ü « A » matrice est dite Triangulaire Inférieur si ê 21
.
êa 31 a 32 a 33 0 ú
ê ú
ëa 41 a 42 a 43 a 44 û
_______________________________________________________________________________
-45-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
3.3. Problème
Tous les outils sont en place pour la résolution d'un système linéaire. H suffit
maintenant d'utiliser systématiquement les opérations élémentaires pour
introduire des zéros sous la diagonale de la matrice A et obtenir ainsi un
système triangulaire supérieur [17, 18].
La validité de la méthode d'élimination de Gauss repose sur le fait que les
opérations élémentaires consistent à multiplier le système de départ par une
matrice inversible. La méthode d'élimination de Gauss consiste à éliminer tous
les termes sous la diagonale de la matrice A.
v Équation (1) → a 11 ≠ 0 :
_______________________________________________________________________________
-46-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
(1) a1 j (1)
b1
Avec : a 1 j = ; b1 = .
a 11 a 11
ì (1) (1 ) (1 ) (1)
x
ï 1 + a 12 2x + a 13 x 3 + a 14 x 4 = b1 (1)
ï (1) (1) (1 ) (1)
0
ï 1x + a 22 x 2 + a 23 3x + a 24 x 4 = b 2 (2)
í (1) (1) (1) (1 ) (3.6)
ï0x + a x + a x + a x = b (3)
ï 1 32 2 33 3 34 4 3
(1) (1) (1 ) (1 )
ï0x + a x + a x + a x = b (4)
î 1 42 2 43 3 44 4 4
é (1 ) (1 ) (1 )
ù é (1) ù
ê1 a12 a13 a14 ú é x1 ù ê b1 ú
ê0 (1 ) (1 ) (1 )
ê ú (1)
a 22 a 23 a 24 ú êx 2 ú ê b 2 ú
ê ú× =ê ú (3.7)
ê0
(1 ) (1 ) (1 )
ú êx 3 ú ê (1) ú
a 32 a 33 a 34 ê ú b
ê (1 ) (1 ) (1 ) ú x ê (13) ú
ê0 ë 4û ê ú
ë a 42 a 43 a 44 úû ëb 4 û
(1) (1) ì i = 2,3,4 ü
Alors : a ij = a ij - a i1 × a 1 j í ý
î j = 1,2,3,4þ
(1)
v Équation (2) → a 22 ≠ 0 :
(1)
Divisons l’équation (2) du système (3.6) par a 22 en obtient :
( 2) ( 2) ( 2)
x 2 + a 23 x 3 + a 24 x 4 = b 2 (3.8)
(1) (1)
(2) a 2j ( 2)
b2
Avec : a 2 j = (1)
; b2 = (1)
.
a 22 a 22
_______________________________________________________________________________
-47-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
ì (1) (1 ) (1 ) (1 )
x
ï 1 + a 12 2x + a x
13 3 + a 14 x 4 = b1 (1)
ï ( 2) (2) ( 2)
0x
ï 1 + x 2 + a 23 3x + a 24 x 4 = b 2 ( 2)
í ( 2) ( 2) ( 2) (3.9)
ï0x + 0x + a x + a x = b (3 )
ï 1 2 33 3 34 4 3
(2 ) ( 2) ( 2)
ï0x + 0x + a x + a x = b (4)
î 1 2 43 3 44 4 4
é (1) (1 ) (1)
ù é (1 ) ù
ê 1 a 12 a13 a14 ú é x1 ù ê b1 ú
ê0 1 (2) ( 2)
ê ú (2)
a 23 a 24 ú êx 2 ú ê b 2 ú
ê ú× =ê ú (3.10)
ê0 0
(2) ( 2)
ú êx 3 ú ê (2) ú
a33 a 34 ê ú b
ê (2) ( 2) ú x ê ( 23) ú
êë0 0 a 44 úû ë û êë b4 úû
4
a 43
( 3) (3)
x 3 + a 34 x 4 = b 3 (3.11)
( 2) (2)
( 3) a 3j ( 3)
b3
Avec : a 3 j = ( 2)
; b3 = (2)
.
a 33 a 33
ì (1) (1 ) (1) (1 )
x
ï 1 + a 12 x 2 + a 13 x 3 + a 14 x 4 = b1
ï ( 2) (2) ( 2)
ï0x 1 + x 2 + a 23 x 3 + a 24 x 4 = b 2
í (3) (3) (3.12)
ï0x + 0x + x + a x = b
ï 1 2 3 34 4 3
ï0x + 0x + 0x + a x = b( 3 ) (3)
î 1 2 3 44 4 4
_______________________________________________________________________________
-48-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
é (1 ) (1 ) (1 )
ù é (1 ) ù
ê 1 a 12 a13 a14 ú é x1 ù ê b1 ú
ê0 1 ( 2) ( 2)
ê ú (2 )
a 23 a 24 ú êx 2 ú ê b 2 ú
ê ú× =ê ú (3.13)
ê0 0
(3)
ú êx 3 ú ê (3) ú
1 a 34 ê ú b
ê (3) ú x ê ( 33) ú
êë0 0 ë 4 û êb ú
0 a 44 úû ë 4û
( 3) ( 2) ( 2) (3) ì i=4 ü
Alors : a ij = a ij - a i 3 × a 3 j í ý
î j = 3,4þ
· Remarque :
(1) ( 2)
Les éléments a 11 a 22 a 33 , sont appelés «Pivots» ou «éléments générateurs».
ì2 x1 + x2 + 4 x4 = 2
ï - 4 x - 2 x + 3 x - 7 x = -9
ï
í
1 2 3 4
(a)
ï4 x1 + x2 - 2 x3 + 8x4 = 2
ïî- 3x2 - 12 x3 - x4 = 2
é 6 -4 1 ù é- 14 22 ù
ê ú
A = ê- 4 6 - 4ú B = ê 36 - 18ú (b)
ê ú
êë 1 - 4 6 úû êë 6 7 úû
· Solutions :
ì2x 1 + x 2 + 4x 4 = 2
ï
ï- 4 x1 - 2x 2 + 3x 3 - 7x 4 = -9
Soit à résoudre le système linéaire : í
ï4 x1 + x 2 - 2x 3 + 8x 4 = 2
ï- 3x 2 - 12x 3 - x 4 = 2
î
é 2 1 0 4ù éx 1 ù é2 ù
ê- 4 - 2 3 - 7úú êx ú ê- 9 ú
1) En posant : A = ê , X = ê 2 ú et B = ê ú
ê4 1 -2 8 ú êx 3 ú ê2 ú
ê ú ê ú ê ú
ë 0 - 3 - 12 - 1 û ëx 4 û ë2 û
_______________________________________________________________________________
-49-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
é2 1 0 4 ù é x1 ù é 2 ù
ê- 4 - 2 3
ê - 7úú êêx 2 úú êê- 9úú
× =
ê4 1 - 2 8 ú êx 3 ú ê 2 ú
ê ú ê ú ê ú
ë 0 - 3 - 12 - 1 û ëx 4 û ë 2 û
é ù
ê2 1 0 4 2 ú
ê ú
ê- 4 - 2 3 -7 - 9ú
ê4 1 -2 8 2 ú
ê ú
ê1 0 - 3 - 12 - 1 2
{ú
44424443
êë A B ú
û
é2 1 0 4 2ù
ê0 0 ú
ê 3 1 - 5ú
ê4 1 -2 8 2ú
ê ú
ë0 - 3 - 12 - 1 2 û
é2 1 0 4 2 ù
ê ú
ê0 0 3 1 - 5ú
ê0 - 1 - 2 0 - 2ú
ê ú
ë0 - 3 - 12 - 1 2 û
Et puisque l’élément générateur a22 est nul, faisons une permutation entre la
deuxième ligne et la troisième ligne :
é2 1 0 4 2 ù
ê ú
ê0 - 1 - 2 0 - 2ú
ê0 0 3 1 - 5ú
ê ú
ë0 - 3 - 12 - 1 2 û
_______________________________________________________________________________
-50-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
é2 1 0 4 2 ù
ê ú
ê0 - 1 - 2 0 - 2ú
ê0 0 3 1 - 5ú
ê ú
ë0 0 - 6 - 1 8 û
é2 1 0 4 2 ù
ê ú
ê0 - 1 - 2 0 - 2ú
ê0 0 3 1 - 5ú
ê ú
ë0 0 0 1 - 2û
é2 1 0 4ù é x1 ù é 2 ù
ê0 - 1 - 2
ê 0 úú êêx 2 úú êê- 2úú
× =
ê0 0 3 1 ú ê x 3 ú ê - 5ú
ê ú ê ú ê ú
ë0 0 0 1 û ëx 4 û ë- 2û
ì x 4 = -2
ï 3x + x = -5
ï 3 4
í
ï- x 2 + 2x 3 = -2
ïî2x 1 + x 2 + 4x 4 = 2
x1 = 3 x2 = 4 x 3 = -1 x 4 = -2
é 6 -4 1 ù é - 14 22 ù
A = ê - 4 6 - 4ú , B = êê 36 - 18úú
ê ú
êë 1 - 4 6 úû êë 6 7 úû
é 6 - 4 1 - 14 22 ù
ê ú
ê- 4 6 - 4 36 - 18ú
ê 1 -4 6 6 7 úû
ë
_______________________________________________________________________________
-51-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
Elimination 1 :
é6 -4 1 - 14 22 ù
ê ú
ê0 10 / 3 - 10 / 3 80 / 3 - 10 / 3ú
ê0 - 10 / 3 35 / 6 25 / 3 10 / 3 ú
ë û
Elimination 2 :
é6 - 4 1 - 14 22 ù
ê ú
ê0 10 / 3 - 10 / 3 80 / 3 - 10 / 3ú
ê0 0 5/ 2 35 0 úû
ë
x11 = 10 x 21 = 22 x 31 = 14
Et
x12 = 3 x 22 = -1 x 32 = 0
_______________________________________________________________________________
-52-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
ì( k +1) ( k) ( k) (k )
ï x 1 = ( b1 - ( a12 x 2 + a 13 x 3 + a 14 x 4 ))
ï a11
ï( k +1) ( k +1 ) (k) (k )
ï x 2 = ( b2 - (a 21 x1 + a 23 x 3 + a 24 x 4 ))
ï a 22
í( k +1) ( k +1) ( k +1 ) (k ) (3.14)
ï x = ( b - (a x + a x + a x ))
ï 3 3 31 1 32 2 34 4
a 33
ï
ï( k +1) ( k +1 ) ( k +1 ) ( k +1)
x
ï 4 = ( b 4 - ( a 41 x 1 + a 42 x 2 + a 43 x 3 ))
î a 44
· Solution :
ì 4x 1 - x 2 + x 3 = 7
ï
Soit à résoudre le système linéaire : í- 4x 1 + 8x 2 - x 3 = 21
ï - 2x + x + 5x = 15
î 1 2 3
é1 ù
0 ê ú
Avec la solution estimée : x = ê2ú et « ε » erreur 10-4.
êë2úû
ì x 1 = (7 - ( -x 2 + x 3 )) / 4
ï
íx 2 = (21 - ( -4x 1 - x 3 )) / 8
ï x = (15 - ( -2x + x )) / 5
î 3 1 2
_______________________________________________________________________________
-53-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
é2 1 2 10 ù é2 1 2 10 ù é2 1 2 10 ù
ê ú ê ú ê ú
ê6 4 0 26ú → ê0 1 - 6 - 4 ú → ê0 1 - 6 - 4ú
ê8 5 1 35ú ê0 1 - 7 - 5 ú ê0 0 - 1 - 1 úû
ë û ë û ë
k= 1, ..., n-1
i= k+1, ..., n-1
j=1, ..., n
AB ij = AB ij - AB ik × AB kj
AB kk
_______________________________________________________________________________
-54-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
b k = b k - a kj × b j
a kk
Etape 6 Afficher X.
for k = n-1:-1:1
j = k+1:n-1
b(k) = (b(k) - a(k,j)*b(j))/a(k,k);
end
x = b;
x %Affichage de X
_______________________________________________________________________________
-55-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
v Fichier :eliminGauss.m
Etape 3 Afficher X.
_______________________________________________________________________________
-56-
[Link] Boumediene
Chapitre 3 Résolution d’un Système d’Équations Linéaires
n=length(x)
for k=1:100 % Nbr des itérations
for i=1:n
% calcul des éléments supérieurs
if i==1
x(i)=(B(i)-(A(i,2:n)*x(2:n)))/A(i,i)
% calcul des éléments inferieurs
elseif i==n
x(i)=(B(i)-(A(i,1:n-1)*x(1:n-1)))/A(i,i)
else
% calcul des éléments diagonaux
x(i)=(B(i)-(A(i,1:i-1)*x(1:i-...
1)+(A(i,i+1:n)*x(i+1:n))))/A(i,i)
end
end
end
_______________________________________________________________________________
[Link] Boumediene -57-
Chapitre 4
Interpolation polynômiale
[Link] Boumediene
Chapitre 4 Interpolation polynômiale
4.1. Introduction
Les fonctions les plus faciles à évaluer numériquement sont les fonctions
polynômes. Il est donc important de savoir approximer une fonction arbitraire
par des polynômes.
4.2. Généralités
pn ( x ) = a 0 + a1 x + a 2 x 2 + a 3 x 3 + ... + a n x n (4.1)
_______________________________________________________________________________
[Link] Boumediene -59-
Chapitre 4 Interpolation polynômiale
p n (x i ) = f ( x i ), i = 0,1,..., n (4.2)
Ou encore :
n
f ( x i ) = a 0 + a1 x i + a 2 x 2i + a 3 x 3i + ... + a n x ni = åa x
i =0
i
i
; i = 0,1,..., n (4.3)
é ù
ê1 x 0 x 20 x 30 L x n0 ú éa 0 ù éf (x 0 )ù
ê nú ê ú ê f (x ) ú
ê1 x1 x1 x1 L x1 ú ê a1 ú
2 3
ê 1 ú
ê1 x x 2 x 3 L x n ú × êa 2 ú = êf ( x 2 ) ú (4.4)
ê 2 2 2 2
ú ê ú ê ú
êM M M M O M ú êM ú ê M ú
ê1 x x 2n x 3n L x nn ú êëa n úû êëf ( x n )úû
ê 14n444 244443 ú
ë Matrice de Vandermonde û
L i (x i ) = 1 "i
(4.5)
L i (x j ) = 0 "j¹ i
n
L(x ) = å f ( x i ) × L i (x ) (4.6)
i =0
_______________________________________________________________________________
[Link] Boumediene -60-
Chapitre 4 Interpolation polynômiale
n
L(x j ) = f ( x j ) × L j ( x j ) + å f ( x i ) × L i (x j ) (4.7)
i =0
i¹j
Soient x 0 , x1 ,..., x n : (n+1) points distincts et « f » une fonction dont les valeurs
en ces points sont : f ( x 0 ), f ( x 1 ),..., f ( x n ) . Alors il existe un seul polynôme de
degré inferieur ou égal à n tel que : f ( x i ) = p n ( x i ), i = 0,1,..., n .
Ce polynôme est donné par :
Pn ( x ) = f ( x 0 ) × L 0 ( x ) + f ( x 1 ) × L1 ( x ) + ... + f ( x n ) × L n (x ) (4.8)
n
Pn ( x ) = å f ( x i ) × L i ( x ), i = 0,1,..., n (4.9)
i =0
Où :
[(x - x 0 )...(x - x i -1 )][(x - x i +1 )...(x - x n )]
L i (x) =
[(x i - x 0 )...(x i - x i -1 )][(x i - x i +1 )...(x i - x n )]
n (x - x j ) (4.10)
=Õ
j= 0
j¹ i
(x i - x j )
pn ( x ) = a 0
+ a1 (x - x 0 )
+ a 2 ( x - x 0 )(x - x 1 )
(4.11)
+ a 3 (x - x 0 )(x - x1 )(x - x 2 )
M
+ a n ( x - x 0 )(x - x 1 )( x - x 2 ) L (x - x n -1 )
f [ x1 , x 2 ,L , x n ] - f [ x 0 , x 1 , x 2 ,L , x n -1 ]
f [ x 0 , x 1 , x 2 ,L , x n ] = (4.12)
(x n - x 0 )
_______________________________________________________________________________
[Link] Boumediene -61-
Chapitre 4 Interpolation polynômiale
v On doit calculer le polynôme passant par les 4points (0, 1), (1, 2), (2, 9)
et (3, 28) utilisant :
1) La Matrice de Vandermonde.
2) L’interpolation de Lagrange.
3) Le Polynôme de Newton.
· Solutions :
On doit calculer le polynôme figure 4.1 passant par les points (0, 1), (1, 2), (2,
9) et (3, 28). Etant donne ces 4 points, les coefficients a i sont les solutions de :
é ù
ê1 x 0 x 20 x 30 L x n0 ú éa 0 ù é f ( x 0 )ù é ù
ê nú ê ú ê ú ê 1 0 0 0 ú éa 0 ù é 1 ù
ê1 x1 x1 x1 L x1 ú ê a1 ú ê f ( x1 ) ú
2 3
ê ú ê ú ê ú
ê1 x x 2 x 3 L x n ú × êa 2 ú = ê f ( x 2 )ú º ê 1 1 1 1 ú × ê a1 ú = ê 2 ú
ê 2 2 2 2
ú ê ú ê ú ê 1 2 4 8 ú êa 2 ú ê 9 ú
êM M M M O M ú êM ú ê M ú ê ú ê ú ê ú
ê1 x ê 114 3 9 27 ú ëa 4 û ë28û
x 2n x 3n L x nn ú êëa n úû êëf ( x n )úû 4244 3
ê 14n444 244443 ú ëê Matrice de Vandermondeûú
ë Matrice de Vandermonde û
§ Le polynôme passant par les points (0, 1), (1, 2), (2, 9) et (3, 28) est :
_______________________________________________________________________________
[Link] Boumediene -62-
Chapitre 4 Interpolation polynômiale
§ Le polynôme de la figure 4.1 passant par les points (0, 1), (1, 2), (2, 9) et
(3, 28) est (voir tableau 4.1):
xi f (x i ) f [ x i , x i +1 ] f [ x i , x i +1 , x i +2 ] f [ x i , x i +1 , x i +2 , x i +3 ]
0 1
1
1 2 3
7
1
2 9
6
19
3 28
p 3 ( x ) = 1 + 1 ( x - 0 ) + 3 ( x - 0 )( x - 1 ) + 1 ( x - 0 )( x - 1 )( x - 2 ) = x 3 + 1
70
60
50
40
30
20
10
-10
-1 -0.5 0 0.5 1 1.5 2 2.5 3 3.5 4
§ Le polynôme de la figure 4.2 passant par les points (2, 1), (0, -1), (5, 10)
et (3, -4) (voir tableau 4.1):
xi f (x i ) f [ x i , x i +1 ] f [ x i , x i +1 , x i +2 ] f [ x i , x i +1 , x i +2 , x i +3 ]
2 1
1
0 -1 0.4
2.2
1.2
5 10
1.6
7
3 -4
p 3 ( x ) = 1 + 1 ( x - 2 ) + 0 . 4 ( x - 2 )( x - 0 ) + 1 . 2 ( x - 2 )( x - 0 )( x - 5 )
3
= 1.2x - 8x 2 + 2.2x - 1
_______________________________________________________________________________
[Link] Boumediene -63-
Chapitre 4 Interpolation polynômiale
10
-5
-10
-15
-20
-25
-1 0 1 2 3 4 5
3
Figure 4.2 : Courbe du polynôme p 3 ( x ) = 1.2x - 8x 2 + 2.2x - 1 .
On doit calculer le polynôme (figure 4.1) passant par les points (0, 1), (1, 2), (2,
9) et (3, 28). Le polynôme recherche est donc: a = [1 0 0 1]T º P3 ( x ) = x 3 + 1
Etape 1 Donner : x = [x 0 , x1 , x 2 ,L , x n ] et y = [ y 0 , y1 , y 2 ,L , y n ] .
é1 x0 x 20 x 30 L x n0 ù
ê ú
ê1 x1 x12 x13 L x 1n ú
Etape 2 Former la matrice Vandermonde : ê1 x2 x 22 x 32 L x n2 ú .
ê ú
êM M M M O M ú
ê1 xn x 2n x 3n L x nn úû
ë
Etape 3 Utilisant la méthode d’Elimination de Gauss trouvé le polynôme
requis.
Etape 4 Tracer la fonction (polynôme) et positionner les points (x, y).
_______________________________________________________________________________
[Link] Boumediene -64-
Chapitre 4 Interpolation polynômiale
for j=1:n-1
V(:,j+1)=x.^j;
end
V
% Calculer en utilisant « Elimination de Gauss » le polynôme P(x).
[P] = elimgauss(V,y')
xx = [0:0.02:3]; yy = polyval(P,xx);
plot(xx,yy,'r',x,y,'*'), grid
Etape 1 Donner : x = [ x 0 , x 1 , x 2 ,L , x n ] et y = [ y 0 , y1 , y 2 ,L , y n ] .
Etape 2 Calculer les polynômes de Lagrange Li ( x ) par la formule
suivante :
n (x - x j )
L i (x) = Õ
j=0
j¹i
(x i - x j )
_______________________________________________________________________________
[Link] Boumediene -65-
Chapitre 4 Interpolation polynômiale
v Fichier : lagrange.m
n = length(x);
P = conv(P,[1 -x(k)])/(x(i)-x(k));
end
end
L(i,:) = P ; % Afficher les polynômes de Lagrange « Li(x)»
f = f + y(i)*P ; % Calculer le polynôme requis « f(x) »
end
Etape 1 Donner : x = [ x 0 , x 1 , x 2 ,L , x n ] et y = [ y 0 , y1 , y 2 ,L , y n ] .
Etape 2 Calculer les coefficients a n utilisant la table des différences
divisées par la formule suivante :
f [ x1 , x 2 ,L , x n ] - f [ x 0 , x 1 , x 2 , L , x n -1 ]
f [ x 0 , x1 , x 2 , L , x n ] =
(x n - x 0 )
_______________________________________________________________________________
[Link] Boumediene -66-
Chapitre 4 Interpolation polynômiale
v Fichier : newton.m
_______________________________________________________________________________
[Link] Boumediene -67-
Chapitre 5
Intégration Numérique
[Link] Boumediene
Chapitre 5 Intégration Numérique
5.1. Introduction
Dans la pluparts des problèmes rencontrés par les ingénieurs, il est souvent
b
difficile de calculer l’intégrale ò f ( x ) dx , où soit la fonction primitive n’existe
a
pas, soit elle est très compliquer, où bien la fonction f (x ) est donnée sous
forme tabulée c.-à-d. f (x ) n’est connue seulement en quelque points
( x i , y i )=i 0 ,1, ..., n (cas des expériences aux labos). Les mêmes problèmes se posent
par le calcul des intégrales multiples. Pour ces raisons on remède à l’utilisation
de l’Intégration Numérique (approchée) [25].
5.2. Définitions
xn xn xn
ò f ( x ) dx
x0
= ò P (x ) dx
x0
n + ò E ( x ) dx
x0
n (5.1)
fonction f ( x ) par un polynôme Pn ( x ) qui passe par les points ( x i , y i ) i =0 ,1, ..., n
avec y i = f ( x i ) .
b
L’intégration numérique consiste à remplacer l’intégrale ò f ( x ) dx , par
a
Soit f ( x ) une fonction continue sur [a, b] choisi sous des points x i ( i = 0 ,1, ..., n )
ò f (x ) dx » ( b - a)å Hi × f (x i )
a i =0
(5.2)
_______________________________________________________________________________
[Link] Boumediene -69-
Chapitre 5 Intégration Numérique
n
( -1)n -i q(q - 1)(q - 2) L (q - n)
avec : H i = ò
n! (n - i ) ! 0 q-i
dq i = 0,1, 2,L , n
H i = H n-i (5.3)
et
n
åH
i =0
i =1 (5.4)
b-a
Avec : h = (le pas).
n
Les coefficients de Côtes sont donnés dans le tableau 5.1.
b-a
On va diviser l’intervalle [a, b] à n segments de longueur h = et soit
n
y i = f ( x i ) i = 0 ,1, ..., n [15, 20, 26]:
b
h n
ò f (x ) dx » å (y i -1 + y i ) + e
2 i =1
a
h
= [(y 0 + y n ) + 2(y1 + y 2 + L + y n-1 )] + e (5.5)
2
æ y 0 + y n n -1 ö
= hçç + å y i ÷÷ + e
è 2 i =1 ø
_______________________________________________________________________________
[Link] Boumediene -70-
Chapitre 5 Intégration Numérique
( b - a)3 f ¢¢( x * )
Le reste : e £ £ e avec : x * Î [a, b].
12 × n 2
Soit n=2m (m nombre pair) et y i = f ( x i ) i =0 ,1, ..., n les valeurs de f (x ) aux points
b-a
équidistants de pas h = , l’intégrale peut être approximer par la formule
2m
de Simpson généralisée [15, 25, 26]:
b
h
ò f (x ) dx » 3 [(y
a
0 + y n ) + 4(y1 + y 3 + L + y n-1 ) + 2(y 2 + y 4 + L + y n -2 )] + e
(5.6)
5 (4 ) *
( b - a) f (x )
Le reste : e £ £ e avec : x * Î [a, b].
180 × n 4
1.25
1- La formule de Newton-Côtes.
2- La formule des Trapèzes généralisée.
3- La formule de Simpson généralisée.
· Solutions :
7 32 12
H0 = H4 = ; H1 = H3 = et H2 =
90 90 90
_______________________________________________________________________________
[Link] Boumediene -71-
Chapitre 5 Intégration Numérique
ò f (x ) dx » ( b - a )å H i × f ( x i )
a i =0
1.25
I= ò f (x ) dx
0.25
é7 32 12 32 7 ù
= (1.25 - 0.25) ´ ê (0.63) + (0.794 ) + (0.909 ) + (1) + (1.15)ú
ë 90 90 90 90 90 û
= 0.89751
b
æ y0 + y n 3
ö
òa f ( x ) dx » h ç
ç 2 + å y i ÷÷
è i =1 ø
1.25
æ 0.63 + 1.15 ö
I= ò
0.25
f (x ) dx = (0.25) ´ ç
è 2
+ (0.794 + 0.909 + 1) ÷ = 0.89825
ø
1.25
æ 0.25 ö
I= ò f ( x ) dx = ç ÷ ´ ((0.63 + 1.15) + 4 ´ (0.794 + 1) + 2 ´ (0.909 )) = 0.89783
0.25 è 3 ø
_______________________________________________________________________________
[Link] Boumediene -72-
Chapitre 5 Intégration Numérique
1.25
n=length(x)
h=x(2)-x(1) % h c'est le pas.
a=x(1)
b=x(n)
_______________________________________________________________________________
[Link] Boumediene -73-
Chapitre 5 Intégration Numérique
æ y1 + y n n -1 ö
I = h × çç + å y i ÷÷
è 2 i =2 ø
Etape 4 Utilisant la formule de Trapèzes généralisée calculer la valeur
« I » de l’intégrale requis.
n=length(x)
h=x(2)-x(1) % h c'est le pas.
h
I= [(y1 + y n ) + 2(y 2 + y 4 + L + y n-2 ) + 4(y 3 + y 5 + L + y n-1 )]
3
Etape 4 Utilisant la formule de Simpson généralisée calculer la valeur « I »
de l’intégrale requis.
_______________________________________________________________________________
[Link] Boumediene -74-
Chapitre 5 Intégration Numérique
n=length(x)
h=x(2)-x(1) % h c'est le pas.
_______________________________________________________________________________
[Link] Boumediene -75-
Chapitre 6
[Link] Boumediene
Chapitre 6 Calcul Numérique des Valeurs Propres
6.1. Introduction
6.2. Définitions
Soit A une matrice carrée à n lignes et n colonnes dont les éléments aij sont des
nombres réels.
_______________________________________________________________________________
[Link] Boumediene -77-
Chapitre 6 Calcul Numérique des Valeurs Propres
· Solution :
é1 - l - 3 ù
La matrice caractéristique : A - lI 2 = ê ú ;
ë - 2 2 - lû
Le polynôme caractéristique de A :
P2 (l ) = det(A - lI 2 ) = (1 - l )(2 - l ) - 6 = l2 - 3l - 4 .
L’équation caractéristique de A :
l2 - 3l - 4 = 0 .
Soit A une matrice carrée à n lignes et n colonnes, les valeurs propres de cette
matrice sont les racines λ de ce polynôme :
Pn (l ) = a 0 ln + a1 ln -1 + a 2 ln-2 + L + a n l0 = 0 ; avec ( a 0 = 1 ) (6.5)
_______________________________________________________________________________
[Link] Boumediene -78-
Chapitre 6 Calcul Numérique des Valeurs Propres
Avec :
a i (i=0,1, …, n) : les coefficients d’un polynôme caractéristique Pn ( l ) .
S q (q= 1,2, …, m) : la somme du diagonal de la matrice A de puissance 1 à m.
Nous savons que la trace de la matrice A est égale a la somme de ses valeurs
propres ; de même, ta trace de la matrice Aq est égale à la somme des valeurs
propres de A élevées à la puissance q. Par conséquent, la trace de la matrice Aq
est égale a Sq. (On rappelle que la trace d'une matrice est la somme de ses
éléments sur la diagonale principale.) Il suffit de calculer la trace de A puis de
multiplier A par A soit B = AA et de calculer la trace de B. Ensuite, on
multipliera B par A puis on calculera la trace de B, et ainsi de suite jusqu'a
obtenir la valeur de Sn.
· Solution :
é1 2 2ù é9 8 8ù é41 42 42ù
ê ú 2 ê ú
A = ê2 1 2ú , A = A × A = ê8 9 8ú et A = A × A = êê42 41 42úú
3 2
ì S1 = 1 + 1 + 1 = 3
ï2 3
Nous obtenons de A , A , A : íS 2 = 9 + 9 + 9 = 27
ïS = 41 + 41 + 41 = 123
î 3
_______________________________________________________________________________
[Link] Boumediene -79-
Chapitre 6 Calcul Numérique des Valeurs Propres
ì
ï a1 = -S1
ïï 1
Les formules : í a 2 = - (S2 + a1S1 ) ;
ï 2
1
ïa 3 = - (S3 + a1 S2 + a 2 S1 )
îï 3
ì
ï a1 = - 3
ïï 1
S’écrivent : í a 2 = - (27 + a1 3)
ï 2
1
ïa 3 = - (123 + a1 27 + a 2 3)
îï 3
P3 ( l ) = l3 + a1 l2 + a 2 l + a 3 = l3 - 3l2 - 9l - 5 = 0
Soit A une matrice carrée à n lignes et n colonnes, les valeurs propres de cette
matrice sont les racines λ de ce polynôme [15, 29]:
Pn ( l ) = a 0 ln + a1 ln -1 + a 2 ln -2 + L + a n l0 = 0 ; avec ( a 0 = 1 ) (6.7)
Puisque la taille de A est n×n, alors nous avons (n) vecteurs de longueur (n) a
formés :
Y (1 ) = AY (0 )
Y (2 ) = AY (1)
(6.9)
M
Y (n ) = AY (n -1 )
é1ù
Prenons comme vecteur initial Y (0 )
= êê M úú
êë1úû
_______________________________________________________________________________
[Link] Boumediene -80-
Chapitre 6 Calcul Numérique des Valeurs Propres
En fin, on obtient :
é a1 ù
êa ú
[Y ( n -1 )
Y (n -2 ) L Y ( 0 ) ] × ê ú = - Y (n )
2
êM ú
(6.10)
ê ú
ëa n û
· Solution :
P3 ( l ) = l3 + a1 l2 + a 2 l + a 3
é1ù
Prenons comme vecteur initial Y (0 )
= êê1úú
êë1úû
Puisque la taille de A est 3×3, alors nous avons trois (3) vecteurs a formés :
é2 - 1 - 2ù é1ù é- 1ù
Y = AY = êê1 1
(1 )
1 úú êê1úú = êê 3 úú
(0 )
êë2 3 - 1 úû êë1úû êë 4 úû
é2 - 1 - 2ù é- 1ù é- 13ù
Y = AY = êê1 1
(2 ) (1 )
1 úú êê 3 úú = êê 6 úú
êë2 3 - 1 úû êë 4 úû êë 3 úû
é2 - 1 - 2ù é- 13ù é- 38ù
Y (3 )
= AY (2 )
= êê1 1 1 úú êê 6 úú = êê - 4 úú
êë2 3 - 1 úû êë 3 úû êë - 11 úû
_______________________________________________________________________________
[Link] Boumediene -81-
Chapitre 6 Calcul Numérique des Valeurs Propres
P3 (l ) = l3 + a1 l2 + a 2 l + a 3 = l3 - 2l2 + l + 13 = 0
Écrire le programme généralisé des trois méthodes qui calculent les valeurs
propres utilisant MATLAB des matrices suivantes :
é1 2 2ù é2 - 1 - 2ù
A = êê2 1 2úú ; A = êê1 1 1 úú .
êë2 2 1 úû êë2 3 - 1 úû
_______________________________________________________________________________
[Link] Boumediene -82-
Chapitre 6 Calcul Numérique des Valeurs Propres
% Données:
A=[1 2 2;2 1 2; 2 2 1] % La matrice "A".
a0=1;
end
end
_______________________________________________________________________________
[Link] Boumediene -83-
Chapitre 6 Calcul Numérique des Valeurs Propres
% Données:
A=[2 -1 -2;1 1 1;2 3 -1] % La matrice "A".
a0=1 ;
n=length(A);
Y=ones(n,1); % Vecteur initial Y(0).
_______________________________________________________________________________
[Link] Boumediene -84-
Chapitre 7
[Link] Boumediene
Chapitre 7 Résolution d’un Système d’Équations Non Linéaires
7.1. Introduction
Les phénomènes non linéaires sont extrêmement courants en pratique. Ils sont
sans doute plus fréquents que les phénomènes linéaires. Dans cette section,
nous examinons les systèmes non linéaires et nous montrons comment les
résoudre a l'aide d'une suite de problèmes linéaires [16, 17], auxquels on peut
appliquer diverses techniques de résolution comme la méthode d’élimination
de Gauss.
f1 ( x1 , x 2 ,L , x n ) = 0
f 2 (x 1 , x 2 ,L , x n ) = 0
f 3 ( x1 , x 2 ,L , x n ) = 0 (7.1)
M
f n ( x1 , x 2 ,L , x n ) = 0
Les méthodes de résolution des systèmes non linéaires sont nombreuses. Pour
éviter de surcharger notre document, nous ne présentons que la méthode la
plus importante et la plus utilisée en pratique, soit la méthode de Newton-
Raphson.
é x1 (0 ) ù
ê ú
où X (0 ) = ê M ú est l’approximation initiale et « ε » c’est la précision du calcul
êx (0 ) ú
ë n û
(la solution est une valeur approchée).
_______________________________________________________________________________
[Link] Boumediene -86-
Chapitre 7 Résolution d’un Système d’Équations Non Linéaires
é ù
ê ¶f1 ¶f1 ¶f1 ú
ê ¶x L
ê 1 ¶x 2 ¶x n úú é Dx1 (k +1 ) ù é f1 ù
ê 2¶f ¶ f ¶ f 2 ú
ê ( k +1 ) ú êf ú
2
L ê Dx 2 ú
ê ¶x ¶x 2 ¶x n ú × ê = -ê 2 ú (7.3)
ê M 1 ú êMú
M úú ê
M
ê ¶f M O (k +1 ) ú ê ú
ê n ¶f n L ¶f n ú ëê n
Dx ûú ëf n û
ê ¶x 1 ¶x 2 ¶x n ú
êë 14 4424443
La matrice Jacobienne
úû
(k ) (k ) (k )
3) Remplacement par les valeurs : x1 , x 2 ,L , x n dans la formule (7.3).
(k +1 )
4) Calcul des Dx i a l’aide de la formule (7.3).
5) Obtention la solution approchée X (k +1 ) par la relation suivante :
é x 1 (k ) + Dx 1 ù
ê ú
X (k +1 ) =ê M ú (7.4)
ê x (k ) + Dx ú
ë n nû
é Dx1 £ e ù
ê ú
X (k +1 ) - X (k ) =ê M ú (7.5)
ê Dx n £ e ú
ë û
alors la solution approchée est X (k +1 ) , sinon répéter le calcule pour une autre
itération.
ìx + 2y = 2
í 2 2
î x + 4y = 4
En utilisant la méthode de Newton-Raphson et en partant de
(0 ) é0.2ù
l’approximation initiale X = ê ú , trouver la valeur approchée de la solution
ë1.2 û
avec une précision 10-2.
_______________________________________________________________________________
[Link] Boumediene -87-
Chapitre 7 Résolution d’un Système d’Équations Non Linéaires
· Solution :
(0 ) é0.2ù
L’approximation initiales donnée est X = ê ú et la précision est ε=10-2.
ë1.2 û
Le calcul des éléments de la matrice Jacobienne (les dérivées partielles):
¶f1 ¶f1 ¶f 2 ¶f 2
=1 =2 = 2x = 8y
¶x ¶y ¶x ¶y
- 0 .6 2 1 - 0.6
- 1.8 9.6 0.4 - 1.8
Dx = = -0.245 et Dy = = -0.177
1 2 1 2
0.4 9.6 0.4 9.6
(1 ) (0 ) é Dx = 0.245 > 10 -2 ù
Et puisque X -X =ê -2 ú , effectuons une deuxième
êë Dy = 0.177 > 10 úû
itération :
é 1 2 ù é Dx ù é - 0.001ù
ê- 0.09 8.184 ú ê Dy ú = ê- 0.188 ú
ë ûë û ë û
_______________________________________________________________________________
[Link] Boumediene -88-
Chapitre 7 Résolution d’un Système d’Équations Non Linéaires
Calculons Dx et Dy :
- 0.001 2 1 - 0.001
- 0.188 8.184 - 0.09 - 0.188
Dx = = 0.044 et Dy = = -0.022
1 2 1 2
- 0.09 8.184 - 0.09 8.184
(2 ) (1 ) é Dx = 0.044 > 10 -2 ù
Et puisque : X -X =ê ú
êë Dy = 0.022 > 10 -2 úû
é 1 2 ù éDx ù é - 0.001ù
ê- 0.002 8.008 ú ê Dyú = ê - 0.008ú
ë ûë û ë û
Calculons Dx et Dy :
- 0.001 2 1 - 0.001
- 0.008 8.008 - 0.002 - 0.008
Dx = = 0.001 et Dy = = -0.001
1 2 1 2
- 0.002 8.008 - 0.002 8.008
Nous avons abouti la précision fixée (10-2), la valeur approchée cherchée est :
é0.000 ù
X=ê ú
ë1.000 û
_______________________________________________________________________________
[Link] Boumediene -89-
Chapitre 7 Résolution d’un Système d’Équations Non Linéaires
é x 1 (0 ) ù
ê ú
X (0 ) =ê M ú ;
êx (0 ) ú
ë n û
é x1 (k ) + Dx 1 ù
ê ú
X (k +1 ) =ê M ú
êx (k ) + Dx ú
ë n nû
_______________________________________________________________________________
[Link] Boumediene -90-
Chapitre 7 Résolution d’un Système d’Équations Non Linéaires
v Fichier : (newton_raphson.m)
function x=newton_raphson(x)
% La Matrice Jacobienne:
df1_dx1=1;
df1_dx2=2;
df2_dx1=2*x(1);
df2_dx2=8*x(2);
J=[df1_dx1 df1_dx2;
df2_dx1 df2_dx2]
v Fichier : (ma_fonction.m)
function F = ma_fonction(x)
F=[x(1)+2*x(2)-2;
x(1)^2+4*x(2)^2-4];
_______________________________________________________________________________
[Link] Boumediene -91-
Chapitre 8
Résolution d’Équations
Différentielles
[Link] Boumediene
Chapitre 8 Équations Différentielles
8.1. Introduction
Cette section traite de la façon dont on peut utiliser les méthodes de résolution
d'équations différentielles ordinaires dans le cas de systèmes d'équations
différentielles avec conditions initiales. Fort heureusement, il suffit d'adapter
légèrement les méthodes déjà vues.
Nous amorçons l'expose par des méthodes relativement simples ayant une
interprétation géométrique. Elles nous conduiront progressivement à des
méthodes plus complexes telles la méthode de Runge-Kutta, qui permet
d'obtenir des résultats d'une grande précision. Nous considérons
principalement les équations différentielles avec conditions initiales, mais
nous ferons une brève incursion du coté des équations différentielles avec
conditions aux limites par le biais des méthodes d’Euler et de Taylor.
8.2. Définitions
_______________________________________________________________________________
[Link] Boumediene -93-
Chapitre 8 Équations Différentielles
y¢( t ) = f ( t, y( t ))
(8.2)
y( t 0 ) = y0
y( t n +1 ) = y( t n ) + f ( t n + y( t n ))t
t 2 æ ¶f ( t n + y(t n )) ¶f ( t n + y( t n )) ö (8.3)
+ ç + f (t n + y( t n )) ÷ + C( t 3 )
2è ¶t ¶y ø
Le but est de remplacer cette dernière relation par une expression équivalente
possédant le même ordre de précision ( C(t 3 ). On propose la forme:
où on doit déterminer les paramètres ai, a1, a2, a3 et a4 de telle sorte que les
expressions (8.3) et (8.4) aient toutes deux une erreur en C( t 3 ) . On ne trouve
par ailleurs aucune dérivée partielle dans cette expression. Pour y arriver, on
doit recourir au développement de Taylor en deux variables. On a ainsi:
¶f (t n + y( t n ))
y( t n + a3 t, y( t n ) + a 4 t ) = f ( t n + y( t n )) + a3 t
¶t
(8.5)
¶f ( t n + y( t n ))
+ a4t + C( t 2 )
¶y
_______________________________________________________________________________
[Link] Boumediene -94-
Chapitre 8 Équations Différentielles
On voit immédiatement que les expressions (8.3) et (8.6) sont du même ordre.
Pour déterminer les coefficients ai, il suffit de comparer ces deux expressions
terme à terme:
§ coefficients respectifs de f (t n , y( t n )) :
t = ( a1 + a 2 ) t (8.7)
¶f ( t n + y( t n ))
§ coefficients respectifs de :
¶t
t2
= a 2a 3 t 2 (8.8)
2
¶f ( t n + y( t n ))
§ coefficients respectifs de :
¶y
t2
f ( t n + y( t n )) = a 2a 4 t 2 (8.9)
2
1 = (a1 + a 2 )
1
= a 2a 3 (8.10)
2
f ( t n + y( t n ))
= a 2a 4
2
ìy1¢ (t ) = y 2 (t ) ( y1 ( 0 ) = 2)
í
îy¢2 ( t ) = 2y 2 ( t ) - y1 ( t ) ( y 2 (0) = 1)
ìïy1 ( t ) = 2et - te t
í
ïîy 2 (t ) = e t - te t
On a alors:
_______________________________________________________________________________
[Link] Boumediene -95-
Chapitre 8 Équations Différentielles
ìf1 (t , y1 ( t ), y 2 ( t )) = y 2 ( t )
í
îf2 ( t, y1 ( t ), y 2 ( t )) = 2y 2 ( t ) - y1 ( t )
1
y1,1 = y1,0 + (0.1 + 2(0.1) + 2(0.09975) + 0.09945)
6
= 2.099825
1
y 2,1 = y 2,0 + (0 + 2( -0.005) + 2( -0.0055) + ( -0.011075))
6
= 0.994651
y¢( t 0 ) = f ( t 0 , y( t 0 )) = y( t 0 , y 0 ) (8.11)
Il est important de noter que, le plus souvent, y1=y(t1). Cette inégalité n'a rien
pour étonner, mais elle a des conséquences sur la suite du raisonnement. En
effet, si on souhaite faire une deuxième itération et obtenir une approximation
de y(t2), on peut refaire l'analyse précédente à partir du point (t1,y1). On
remarque cependant que la solution analytique en t= t1 est:
_______________________________________________________________________________
[Link] Boumediene -96-
Chapitre 8 Équations Différentielles
y¢( t1 ) = f ( t1 , y( t1 )) » f ( t1 , y1 ) (8.12)
y(t i ) = y i (8.13)
y¢( t ) = -y( t ) + t + 1
f ( t, y ) = - y + t + 1
On parvient à:
y(t ) = e - t + t
_______________________________________________________________________________
[Link] Boumediene -97-
Chapitre 8 Équations Différentielles
ti y( t i ) yi y(t i ) = y i
y( tn +1 ) = y( t n + t )
y' ' ( t n )t 2 (8.14)
= y( t n ) + y' (t n )t +
2
En se servant de l'équation différentielle (8.2), on trouve:
¶f ( t + y( t )) ¶f ( t + y( t ))
f ' ( t + y( t )) = + y' ( t ) (8.16)
¶t ¶y
c'est-a-dire:
¶f ( t + y(t )) ¶f ( t + y(t ))
f ' ( t + y( t )) = + f ( t + y( t )) (8.17)
¶t ¶y
On obtient donc:
_______________________________________________________________________________
[Link] Boumediene -98-
Chapitre 8 Équations Différentielles
y( t n +1 ) = y( t n ) + f ( t n + y( t n ))t
t 2 æ ¶f ( t n + y(t n )) ¶f (t n + y( t n )) ö (8.18)
+ ç + f ( t n + y( t n )) ÷
2è ¶t ¶y ø
y¢( t ) = -y( t ) + t + 1
f ( t, y ) = - y + t + 1
et
¶f ¶f
= 1 et = -1
¶t ¶y
L'algorithme devient:
t2
y n +1 = y n + ( -y n + t n + 1)t + (1 + ( -1)( -y n + t n + 1))
2
( 0 .1 ) 2
y1 = 1 + 0.1( -1 + 0 + 1) + (1 + ( -1)( -1 + 0 + 1)) = 1.005
2
(0.1)2
y 2 = 1.005 + 0.1( -1.005 + 0.1 + 1) + (1 + ( -1)( -1.005 + 0.1 + 1)) = 1.019025
2
ti y( t i ) yi y(t i ) = y i
_______________________________________________________________________________
[Link] Boumediene -99-
Chapitre 8 Équations Différentielles
On remarque que l’erreur est plus petite avec la méthode de Taylor d'ordre 2
qu'avec la méthode d'Euler. Comme on le verra plus loin, cet avantage des
méthodes d'ordre plus élevé vaut pour l'ensemble des méthodes de résolution
d'équations différentielles.
Etape 1 Données : un pas de temps t, des conditions initiales (t0, y1,0, y2,0,
… , ym,0) et un nombre maximal d'itérations N.
Etape 2 Pour 0 ≤ n ≤ N :
k 1 = f ( t n , y n )t
t k
k 2 = f (t n + , y n 1 )t
2 2
t k
k 3 = f ( t n + , y n 2 )t
2 2
k 4 = f ( t n + t, y n k 3 )t
1
y n +1 = y n + ( k 1 + 2k 2 + 2k 3 + k 4 )
6
Etape 3 Poser : t n +1 = t n + t
Etape 4 Ecrire : t n +1 et y n +1
% ENTREES:
% dEqs = équations différentielles
% F(x,y) = [dy1/dx dy2/dx dy3/dx ...].
% x,y = Valeurs initiales; y Vecteur ligne.
% xStop = Valeur finale de x.
% h = incrément de x utilisé.
% SORTIES:
% xSol = valeur de x où la solution est complète.
% ySol = valeur de y correspondant à la valeur x.
_______________________________________________________________________________
[Link] Boumediene -100-
Chapitre 8 Équations Différentielles
Etape 3 Poser : t n +1 = t n + t
Etape 4 Ecrire : t n +1 et y n +1
%valeur du temps t
h = (tspan(2) - tspan(1))/N;
% vecteur du temps
t = tspan(1)+[0:N]’*h;
_______________________________________________________________________________
[Link] Boumediene -101-
Chapitre 8 Équations Différentielles
Etape 2 Pour 0 ≤ n ≤ N :
y n +1 = y n + f (t n + y n )t
t 2 æ ¶f ( t n + y n ) ¶f ( t n + y n ) ö
+ ç + f (tn + y n ) ÷
2è ¶t ¶y ø
Etape 3 Poser : t n +1 = t n + t
Etape 4 Ecrire : t n +1 et y n +1
% ENTREES:
% deriv = fonction qui rend la matrice
% d = [dy/dx d^2y/dx^2 d^3y/dx^3 d^4y/dx^4].
% x,y =valeur initiale; il faut que y soit vecteur linge.
% xStop = la valeur finale de x
% h = increment de x ulilisé dans le calcul (h > 0).
% SORTIES:
% xSol = valeurs de x à la solution qui calculée.
% ySol = valeurs de y correspond aux valeurs de x.
_______________________________________________________________________________
[Link] Boumediene -102-
Chapitre 8 Équations Différentielles
y = y + d(j,:)*hh;
end
x = x + h; k = k + 1;
xSol(k) = x; ySol(k,:) = y; % affichage de résultats.
end
_______________________________________________________________________________
[Link] Boumediene -103-
Conclusion Générale
[Link] Boumediene
Conclusion
Conclusion
Le calcul scientifique est une discipline qui consiste à développer, analyser et
appliquer des méthodes relevant de domaines mathématiques aussi variés que
l’analyse, l’algèbre linéaire, la géométrie, la théorie de l’approximation, les
équations fonctionnelles, l’optimisation ou le calcul différentiel. Les méthodes
numériques trouvent des applications naturelles dans de nombreux problèmes
posés par la physique, les sciences biologiques, les sciences de l’ingénieur,
l’économie et la finance.
_______________________________________________________________________________
[Link] Boumediene -104-
Références
[Link] Boumediene
Références
Références
[6] A. Biran & M. Breiner, “MATLAB for engineers”; éditions Wesley, 1999.
_______________________________________________________________________________
[Link] Boumediene -105-
Références
_______________________________________________________________________________
[Link] Boumediene -106-
Annexe
- Exercices Chapitre 2 -
Exercice 1 :
Soit la fonction f(x) = x3+4x2-10, avec x Î [1, 2], ξ=10-3 ; trouvez une valeur
approchée de la solution exacte de f(x)=0 par la méthode de Dichotomie.
Solutions de l’Exercice 1:
f(x) est continue sur [1, 2] et f(1)·f(2) = (-5)·(14)< 0, donc d’après la méthode de
Dichotomie il existe au moins un x*Î [1, 2] tel que f(x*)=0.
n an bn xn f(xn)
0 1 2 1.5 +2.375
1 1 1.5 1.25 -1.79687
2 1.25 1.5 1.375 +0.16211
3 1.25 1.375 1.3125 -0.84839
4 1.3125 1.375 1.34375 -0.35098
5 1.34375 1.375 1.35937 -0.09641
6 1.35937 1.375 1.36718 +0.03236
7 1.35937 1.36718 1.36328 -0.03215
8 1.36328 1.36718 1.36523 0.000072
Test d’arrêt :
ξ=10-3 c’est-à-dire |x8 – x7| ≤ ξ ; Alors x* = x8 = 1.36523
Exercice 2 :
Soit la fonction f(x) = x3+4x2-10, avec x Î [1, 2], ξ=10-3 ; trouvez une valeur
approchée de la solution exacte de f(x)=0 par la méthode du point fixe.
Solutions de l’Exercice 2:
_______________________________________________________________________________
[Link] Boumediene -105-
Annexe
1
æ 10 ö 2
2) g(x) = çç ÷÷
è ( x + 4) ø
3) l’application de la méthode du point fixe, formons la suite xn+1=g(xn) ;
on particulier x0 = 1.5, pour ce choix en à :
4) Test d’arrêt :
ξ=10-3 c’est-à-dire |x5 – x4| ≤ ξ ; Alors x* = x5 = 1.3652
Exercice 3 :
Soit la fonction f(x) = x3+4x2-10, avec x Î [1, 2], ξ=10-3 ; trouvez une valeur
approchée de la solution exacte de f(x)=0 par la méthode de Newton.
Solutions de l’Exercice 3:
L’équation f(x) = x3+4x2-10 et leur dérivé est f’(x) = 3x2+8, alors on part de x0 =
1.5 et en appliquant la formule de Newton :
xn+1 = xn − f(xn)/f′(xn)
On obtient :
xn+1 = xn – (xn3+4xn2-10) /(3xn2+8)
- Exercice Chapitre 3 -
Exercice 1 :
ì2 x1 + x2 + 4 x4 = 2
ï - 4 x - 2 x + 3 x - 7 x = -9
ï 1 2 3 4
í
ï4 x1 + x2 - 2 x3 + 8x4 = 2
ïî- 3x2 - 12 x3 - x4 = 2
_______________________________________________________________________________
[Link] Boumediene -106-
Annexe
Solutions de l’Exercice 1:
ì2x 1 + x 2 + 4x 4 = 2
ï
ï- 4 x1 - 2x 2 + 3x 3 - 7x 4 = -9
Soit à résoudre le système linéaire : í
ï4 x1 + x 2 - 2x 3 + 8x 4 = 2
ï- 3x 2 - 12x 3 - x 4 = 2
î
é 2 1 0 4ù éx 1 ù é2 ù
ê- 4 - 2 3 - 7úú êx ú ê- 9 ú
1) En posant : A = ê , X = ê 2 ú et B = ê ú
ê4 1 -2 8 ú êx 3 ú ê2 ú
ê ú ê ú ê ú
ë 0 - 3 - 12 - 1 û ëx 4 û ë2 û
é2 1 0 4 ù é x1 ù é 2 ù
ê- 4 - 2 3
ê - 7úú êêx 2 úú êê- 9úú
× =
ê4 1 - 2 8 ú êx 3 ú ê 2 ú
ê ú ê ú ê ú
ë 0 - 3 - 12 - 1 û ëx 4 û ë 2 û
é ù
ê2 1 0 4 2 ú
ê ú
ê- 4 - 2 3 -7 - 9ú
ê4 1 -2 8 2 ú
ê ú
ê1 0 - 3 - 12 - 1 {2 ú
44424443
êë A B ú
û
é2 1 0 4 2ù
ê0 0 ú
ê 3 1 - 5ú
ê4 1 -2 8 2ú
ê ú
ë0 - 3 - 12 - 1 2 û
é2 1 0 4 2 ù
ê ú
ê0 0 3 1 - 5ú
ê0 - 1 - 2 0 - 2ú
ê ú
ë0 - 3 - 12 - 1 2 û
Et puisque l’élément générateur a22 est nul, faisons une permutation entre la
deuxième ligne et la troisième ligne :
_______________________________________________________________________________
[Link] Boumediene -107-
Annexe
é2 1 0 4 2 ù
ê ú
ê0 - 1 - 2 0 - 2ú
ê0 0 3 1 - 5ú
ê ú
ë0 - 3 - 12 - 1 2 û
é2 1 0 4 2 ù
ê ú
ê0 - 1 - 2 0 - 2ú
ê0 0 3 1 - 5ú
ê ú
ë0 0 - 6 - 1 8 û
é2 1 0 4 2 ù
ê ú
ê0 - 1 - 2 0 - 2ú
ê0 0 3 1 - 5ú
ê ú
ë0 0 0 1 - 2û
é2 1 0 4ù é x1 ù é 2 ù
ê0 - 1 - 2
ê 0 úú êêx 2 úú êê- 2úú
× =
ê0 0 3 1 ú ê x 3 ú ê - 5ú
ê ú ê ú ê ú
ë0 0 0 1 û ëx 4 û ë- 2û
ì x 4 = -2
ï 3x + x = -5
ï 3 4
í
ï- x 2 + 2x 3 = -2
ïî2x 1 + x 2 + 4x 4 = 2
x1 = 3 x2 = 4 x 3 = -1 x 4 = -2
Exercice 2 :
é 6 -4 1 ù é- 14 22 ù
A = êê- 4 6 - 4úú B = ê 36 - 18ú
ê ú
êë 1 - 4 6 úû êë 6 7 úû
_______________________________________________________________________________
[Link] Boumediene -108-
Annexe
Solutions de l’Exercice 2:
é 6 -4 1 ù é - 14 22 ù
A = ê - 4 6 - 4ú , B = êê 36 - 18úú
ê ú
êë 1 - 4 6 úû êë 6 7 úû
é 6 - 4 1 - 14 22 ù
ê ú
ê- 4 6 - 4 36 - 18ú
ê 1 -4 6 6 7 úû
ë
Elimination 1 :
é6 -4 1 - 14 22 ù
ê ú
ê0 10 / 3 - 10 / 3 80 / 3 - 10 / 3ú
ê0 - 10 / 3 35 / 6 25 / 3 10 / 3 ú
ë û
Elimination 2 :
é6 - 4 1 - 14 22 ù
ê ú
ê0 10 / 3 - 10 / 3 80 / 3 - 10 / 3ú
ê0 0 5/ 2 35 0 úû
ë
x11 = 10 x 21 = 22 x 31 = 14 Et x12 = 3 x 22 = -1 x 32 = 0
Exercice 3 :
é2 1 2 10 ù
ê ú
C = ê6 4 0 26ú
ê8 5 1 35ú
ë û
_______________________________________________________________________________
[Link] Boumediene -109-
Annexe
Solutions de l’Exercice 3:
é2 1 2 10 ù é2 1 2 10 ù é2 1 2 10 ù
ê ú ê ú ê ú
ê6 4 0 26ú → ê0 1 - 6 - 4 ú → ê0 1 - 6 - 4ú
ê8 5 1 35ú ê0 1 - 7 - 5 ú ê0 0 - 1 - 1 úû
ë û ë û ë
Exercice 4 :
ì 4x 1 - x 2 + x 3 = 7
ï
í- 4 x1 + 8x 2 - x 3 = 21
ï - 2x + x + 5x = 15
î 1 2 3
Solutions de l’Exercice 4 :
ì 4x 1 - x 2 + x 3 = 7
ï
Soit à résoudre le système linéaire : í- 4x 1 + 8x 2 - x 3 = 21
ï - 2x + x + 5x = 15
î 1 2 3
é1 ù
ê ú 0
Avec la solution estimée : x = ê2ú et « ε » erreur 10-4.
êë2úû
ì x 1 = (7 - ( -x 2 + x 3 )) / 4
ï
íx 2 = (21 - ( -4x 1 - x 3 )) / 8
ï x = (15 - ( -2x + x )) / 5
î 3 1 2
_______________________________________________________________________________
[Link] Boumediene -110-
Annexe
- Exercices Chapitre 4 -
Exercice 1 :
On doit calculer le polynôme passant par les 4points (0, 1), (1, 2), (2, 9)
et (3, 28) utilisant la Matrice de Vandermonde.
Solutions de l’Exercice 1:
On doit calculer le polynôme figure 4.1 passant par les points (0, 1), (1, 2), (2,
9) et (3, 28). Etant donne ces 4 points, les coefficients a i sont les solutions de :
é ù
ê1 x 0 x 20 x 30 L x n0 ú éa 0 ù é f ( x 0 )ù é ù
ê nú ê
ê 1 0 0 0 ú éa 0 ù é 1 ù
ê1 x 1 x 2
1 x 3
1 L x a ú êê f ( x1 ) úú
1 ú ê 1ú ê ú ê ú ê ú
ê1 x x 2 x 3 L x n ú × êa 2 ú = ê f ( x 2 )ú º ê 1 1 1 1 ú × ê a1 ú = ê 2 ú
ê 2 2 2 2
ú ê ú ê ú ê 1 2 4 8 ú êa 2 ú ê 9 ú
êM M M M O M ú êM ú ê M ú ê ú ê ú ê ú
ê1 x ê 114 3 9 27 ú ëa 4 û ë28û
x 2n x 3n L x nn ú êëa n úû êëf ( x n )úû 4244 3
êë Matrice de Vandermondeúû
ê 14n444 244443 ú
ë Matrice de Vandermonde û
Exercice 2 :
On doit calculer le polynôme passant par les 4points (0, 1), (1, 2), (2, 9)
et (3, 28) utilisant l’interpolation de Lagrange.
Solutions de l’Exercice 2:
Le polynôme passant par les points (0, 1), (1, 2), (2, 9) et (3, 28) est :
Exercice 3 :
On doit calculer le polynôme passant par les 4points (0, 1), (1, 2), (2, 9)
et (3, 28) utilisant le polynôme de Newton.
Solutions de l’Exercice 3:
Le polynôme de Newton passant par les points (0, 1), (1, 2), (2, 9) et (3, 28) :
_______________________________________________________________________________
[Link] Boumediene -111-
Annexe
xi f (x i ) f [ x i , x i +1 ] f [ x i , x i +1 , x i +2 ] f [ x i , x i +1 , x i +2 , x i +3 ]
0 1
1
1 2 3
7
1
2 9
6
19
3 28
p 3 ( x ) = 1 + 1 ( x - 0 ) + 3 ( x - 0 )( x - 1 ) + 1 ( x - 0 )( x - 1 )( x - 2 ) = x 3 + 1
Exercice 4 :
On doit calculer le polynôme passant par les 4 points (2, 1), (0, -1), (5, 10) et
(3, -4) utilisant le polynôme de Newton.
Solutions de l’Exercice 4 :
Le polynôme de Newton passant par les points (2, 1), (0, -1), (5, 10) et (3, -4) :
xi f (x i ) f [ x i , x i +1 ] f [ x i , x i +1 , x i +2 ] f [ x i , x i +1 , x i +2 , x i +3 ]
2 1
1
0 -1 0.4
2.2
1.2
5 10
1.6
7
3 -4
p 3 ( x ) = 1 + 1 ( x - 2 ) + 0 . 4 ( x - 2 )( x - 0 ) + 1 . 2 ( x - 2 )( x - 0 )( x - 5 )
3
= 1.2x - 8x 2 + 2.2x - 1
- Exercices Chapitre 5 -
Exercice 1 :
1.25
la formule de Newton-Côtes.
_______________________________________________________________________________
[Link] Boumediene -112-
Annexe
Solutions de l’Exercice 1:
7 32 12
H0 = H4 = ; H1 = H3 = et H2 =
90 90 90
ò f (x ) dx » ( b - a)å Hi × f (x i )
a i =0
1.25
I= ò f (x ) dx
0.25
é7 32 12 32 7 ù
= (1.25 - 0.25) ´ ê (0.63) + (0.794 ) + (0.909 ) + (1) + (1.15)ú
ë 90 90 90 90 90 û
= 0.89751
Exercice 2 :
1.25
Solutions de l’Exercice 2:
_______________________________________________________________________________
[Link] Boumediene -113-
Annexe
Exercice 3 :
1.25
Solutions de l’Exercice 2:
1.25
æ 0.25 ö
I= ò f ( x ) dx = ç ÷ ´ ((0.63 + 1.15) + 4 ´ (0.794 + 1) + 2 ´ (0.909 )) = 0.89783
0.25 è 3 ø
- Exercices Chapitre 6 -
Exercice 1 :
é 1 - 3ù
A=ê ú ;
ë- 2 2 û
Solutions de l’Exercice 1:
é1 - l - 3 ù
La matrice caractéristique : A - lI 2 = ê ú ;
ë - 2 2 - lû
_______________________________________________________________________________
[Link] Boumediene -114-
Annexe
Le polynôme caractéristique de A :
P2 (l ) = det(A - lI 2 ) = (1 - l )(2 - l ) - 6 = l2 - 3l - 4 .
L’équation caractéristique de A :
l2 - 3l - 4 = 0 .
Exercice 2 :
é1 2 2ù
A = êê2 1 2úú ;
êë2 2 1 úû
Solutions de l’Exercice 2 :
é1 2 2ù é9 8 8ù é41 42 42ù
ê ú 2 ê ú
A = ê2 1 2ú , A = A × A = ê8 9 8ú et A = A × A = êê42 41 42úú
3 2
ì S1 = 1 + 1 + 1 = 3
ï
Nous obtenons de A , A 2 , A 3 : íS 2 = 9 + 9 + 9 = 27
ïS = 41 + 41 + 41 = 123
î 3
ì
ï a1 = -S1
ïï 1
Les formules : í a 2 = - (S2 + a1S1 ) ;
ï 2
ïa 3 = - 1 (S3 + a1 S2 + a 2 S1 )
ïî 3
ì
ï a1 = - 3
ïï 1
S’écrivent : í a 2 = - (27 + a1 3)
ï 2
1
ïa 3 = - (123 + a1 27 + a 2 3)
ïî 3
P3 ( l ) = l3 + a1 l2 + a 2 l + a 3 = l3 - 3l2 - 9l - 5 = 0
_______________________________________________________________________________
[Link] Boumediene -115-
Annexe
Exercice 3 :
é2 - 1 - 2ù
A = êê1 1 1 úú ;
êë2 3 - 1 úû
Solutions de l’Exercice 3 :
P3 ( l ) = l3 + a1 l2 + a 2 l + a 3
é1ù
Prenons comme vecteur initial Y (0 )
= êê1úú
êë1úû
Puisque la taille de A est 3×3, alors nous avons trois (3) vecteurs a formés :
é2 - 1 - 2ù é1ù é- 1ù
Y = AY = êê1 1
(1 )
1 úú êê1úú = êê 3 úú
(0 )
êë2 3 - 1 úû êë1úû êë 4 úû
é2 - 1 - 2ù é- 1ù é- 13ù
Y = AY = êê1 1
(2 ) (1 )
1 úú êê 3 úú = êê 6 úú
êë2 3 - 1 úû êë 4 úû êë 3 úû
é2 - 1 - 2ù é- 13ù é- 38ù
Y = AY = êê1 1
(3 ) (2 )
1 úú êê 6 úú = êê - 4 úú
êë2 3 - 1 úû êë 3 úû êë - 11 úû
En fin, on obtient : a1 Y ( 2 ) + a 2 Y (1) + a 3 Y ( 0 ) = - Y ( 3 )
P3 (l ) = l3 + a1 l2 + a 2 l + a 3 = l3 - 2l2 + l + 13 = 0
_______________________________________________________________________________
[Link] Boumediene -116-
Annexe
- Exercices Chapitre 7 -
Exercice 1 :
ìx + 2y = 2
í 2 2
î x + 4y = 4
En utilisant la méthode de Newton-Raphson et en partant de
(0 ) é0.2ù
l’approximation initiale X = ê ú , trouver la valeur approchée de la solution
ë1.2 û
avec une précision 10-2.
Solutions de l’Exercice 1 :
(0 ) é0.2ù
L’approximation initiales donnée est X = ê ú et la précision est ε=10-2.
ë1.2 û
Le calcul des éléments de la matrice Jacobienne (les dérivées partielles):
¶f1 ¶f1 ¶f 2 ¶f 2
=1 =2 = 2x = 8y
¶x ¶y ¶x ¶y
- 0 .6 2 1 - 0.6
- 1.8 9.6 0.4 - 1.8
Dx = = -0.245 et Dy = = -0.177
1 2 1 2
0.4 9.6 0.4 9.6
_______________________________________________________________________________
[Link] Boumediene -117-
Annexe
é Dx = 0.245 > 10 -2 ù
Et puisque X (1 ) - X (0 ) = ê -2 ú , effectuons une deuxième
êë Dy = 0.177 > 10 úû
itération :
é 1 2 ù é Dx ù é - 0.001ù
ê- 0.09 8.184 ú ê Dy ú = ê- 0.188 ú
ë ûë û ë û
Calculons Dx et Dy :
- 0.001 2 1 - 0.001
- 0.188 8.184 - 0.09 - 0.188
Dx = = 0.044 et Dy = = -0.022
1 2 1 2
- 0.09 8.184 - 0.09 8.184
(2 ) (1 ) é Dx = 0.044 > 10 -2 ù
Et puisque : X -X =ê ú
êë Dy = 0.022 > 10 -2 úû
é 1 2 ù éDx ù é - 0.001ù
ê- 0.002 8.008 ú ê Dyú = ê - 0.008ú
ë ûë û ë û
Calculons Dx et Dy :
_______________________________________________________________________________
[Link] Boumediene -118-
Annexe
- 0.001 2 1 - 0.001
- 0.008 8.008 - 0.002 - 0.008
Dx = = 0.001 et Dy = = -0.001
1 2 1 2
- 0.002 8.008 - 0.002 8.008
Nous avons abouti la précision fixée (10-2), la valeur approchée cherchée est :
é0.000 ù
X=ê ú
ë1.000 û
- Exercices Chapitre 8 -
Exercice 1 :
ìy1¢ (t ) = y 2 (t ) ( y1 ( 0 ) = 2)
í
îy¢2 ( t ) = 2y 2 ( t ) - y1 ( t ) ( y 2 (0) = 1)
ìïy1 ( t ) = 2et - te t
í
ïîy 2 (t ) = e t - te t
Solutions de l’Exercice 1 :
On a alors:
ìf1 (t , y1 ( t ), y 2 ( t )) = y 2 ( t )
í
îf2 ( t, y1 ( t ), y 2 ( t )) = 2y 2 ( t ) - y1 ( t )
_______________________________________________________________________________
[Link] Boumediene -119-
Annexe
1
y1,1 = y1,0 + (0.1 + 2(0.1) + 2(0.09975) + 0.09945)
6
= 2.099825
1
y 2,1 = y 2,0 + (0 + 2( -0.005) + 2( -0.0055) + ( -0.011075))
6
= 0.994651
Exercice 2 :
Solutions de l’Exercice 2 :
f ( t, y ) = - y + t + 1
On parvient à:
_______________________________________________________________________________
[Link] Boumediene -120-
Annexe
ti y( t i ) yi y(t i ) = y i
Exercice 3 :
y¢( t ) = -y( t ) + t + 1
Solutions de l’Exercice 3 :
Dans ce cas:
¶f ¶f
f ( t, y) = -y + t + 1 et = 1 et = -1
¶t ¶y
L'algorithme devient:
t2
y n +1 = y n + ( -y n + t n + 1)t + (1 + ( -1)( -y n + t n + 1))
2
( 0 .1 ) 2
y1 = 1 + 0.1( -1 + 0 + 1) + (1 + ( -1)( -1 + 0 + 1)) = 1.005
2
(0.1)2
y 2 = 1.005 + 0.1( -1.005 + 0.1 + 1) + (1 + ( -1)( -1.005 + 0.1 + 1)) = 1.019025
2
_______________________________________________________________________________
[Link] Boumediene -121-
Annexe
ti y( t i ) yi y(t i ) = y i
_______________________________________________________________________________
[Link] Boumediene -122-