Sie sind auf Seite 1von 20

UNIVERSITE DE BEJAIA – ABDERRAHMANE MIRA

FACULTE DE LA TECHNOLOGIE
DEPARTEMENT D’ELECTRONIQUE
Electronique - Automatique

Mini Projet
Analyse Numérique
Différentiation & Intégration Numérique

Préparé par:

Bouiche Hachemi
Boumertit Sofiane
Seddar Moussa

Copyright – 2011
Introduction

L’intégration et la différentiation sont très utiles pour résoudre une grande quantité de
problèmes scientifiques. Beaucoup de ces problèmes sont résolus par des solutions
analytiques mais certains ne peuvent être résolus que par des techniques différentiations ou
d’intégration numérique. De plus, il est souvent nécessaire d’utiliser des données pour estimer
les taux de variation. On doit alors estimer la dérivée.
I. Différentiation numérique:
Une fonction f (x) continûment dérivable est connue par quelques-uns de ses points de
colocation. Comment fait-on pour évaluer la dérivée première f ′(x) et/ou les dérivées d’ordre
supérieur ? Ce besoin de différentiation numérique s’exprime dans de nombreux domaines.

Exemple :
La tension aux bornes d’un condensateur qui se décharge est mesurée à des intervalles
réguliers, donnant une suite de valeurs . Pour estimer le courant de
décharge , il faut dériver une fonction dont on ne connaît que les points de colocation.
Comment procéder ?

La solution consiste ici à faire passer par les points de colocation un polynôme
d’interpolation, puis à dériver celui-ci le nombre de fois nécessaire. On peut ainsi estimer la
dérivée aux points de colocation ou entre deux.

I.1. Estimation de la dérivée première :


Le cas le plus simple est celui où il n’y a que deux points de colocation : et
( , .Par ces points passe la droite d’équation

L’estimation de la dérivée première équivaut donc au coefficient directeur de la droite

Notons qu’elle prend la même valeur en tout point de l’intervalle [ ]. Par ailleurs, la
dérivée seconde et toutes les dérivées supérieures sont nulles.

I.2. Estimation de l’erreur : Pour savoir quelle confiance accorder à l’expression


ci-dessus, il faut connaître l’erreur. Du chapitre précédent, nous tirons :

Supposons dorénavant que les abscisses des points de colocation sont régulièrement réparties,
et appelons ,écartement ou pas entre deux abscisses voisines.

On peut alors montrer que

L’erreur varie donc comme . On dira qu’elle est d’ordre n et on écrira


fréquemment de façon abrégée .
Avec deux points de colocation, l’expression de la dérivée première d’ordre 1 peut s’écrire de
deux façons différentes. Soit on estime la pente de la droite qui passe par le point de
colocation suivant (différence avant), soit on prend la pente de la droite

passant par le point qui précède (différence arrière).

Avec trois points de colocation, le polynôme d’interpolation devient une parabole. A partir de
cette dernière, on peut évaluer la dérivée première en chacun des trois points

Pour les différences d’ordre 2, l’erreur varie asymptotiquement comme alors que pour les
différences d’ordre un, elle varie comme h. Pour une fonction f suffisamment lisse et pour un
petit pas h donné, la différence d’ordre 2 donnera généralement une erreur plus petite.

Trois raisons nous poussent à préférer la différence centrée d’ordre 2 :

1. D’abord, son terme d’erreur est en et non en (h)


2. Un calcul plus détaillé montre ensuite que parmi les trois estimateurs d’ordre 2,c’est la
différence centrée qui possède en moyenne l’erreur la plus petite.
3. Enfin, et c’est là un point crucial : la différence centrée d’ordre 2 ne nécessite que la
connaissance de deux points de colocation. En effet, la valeur du point en lequel on
estime la dérivée n’entre pas en jeu. Le coût en calcul est donc identique à celui d’une
différence d’ordre 1, pour un résultat meilleur.
Fig.1. Illustration des dérivées avant et arrière d’ordre 1, et de la dérivée centrée d’ordre 2
au point d’abscisse x = .

Exemple : L’estimation de la dérivée de f (x) = 1/x en x = 2 par différentes méthodes donne


les résultats ci-dessous. On constate que pour h suffisamment petit, réduire le pas d’un facteur
10 revient à diminuer l’erreur d’un facteur 10 pour la méthode d’ordre 1 et d’un facteur 100
pour la méthode de d’ordre 2. En revanche, pour des grands pas h, la méthode d’ordre 1 est
plus proche de la réalité. La différence centrée d’ordre 2 est donc plus intéressante, à
condition que le pas soit suffisamment petit, et pour autant que la fonction f à dériver soit
suffisamment continue
I.3. Estimation de la dérivée seconde
La procédure reste la même pour les dérivées secondes, sauf que le polynôme d’interpolation
doit être dérivé deux fois. Comme ce polynôme doit être au minimum de degré 2 (sinon sa
dérivée seconde est nulle), on en déduit qu’il faut au minimum trois points de colocation.

Pour trois points de colocation, on obtient les expressions

A titre de comparaison, la différence centrée d’ordre 4 s’écrit

I.4. Dériver dans la pratique

 Si f (x) est donnée par un tableau de valeurs

Si la fonction à dériver est spécifiée par un ensemble de points de colocation (son expression
analytique n’est pas connue) alors le pas est imposé. Le seul degré de liberté dont on dispose
reste le degré du polynôme d’interpolation utilisé pour évaluer la dérivée.
Augmenter le degré du polynôme peut sembler intéressant, mais nous avons vu que les
polynômes d’interpolation de degré supérieur à 3 sont rarement recommandables. Par ailleurs,
un tel calcul nécessitera davantage d’opérations de calcul.

 Si f (x) est donnée par son expression analytique

La situation est fort différente lorsque l’expression analytique de la fonction à dériver est
connue. En effet les points de colocation peuvent alors être choisis librement et on peut
prendre un pas h aussi petit que souhaité.

On pourrait penser qu’il vaut mieux choisir un pas h très petit pour augmenter la précision du
calcul. C’est souvent vrai. Toutefois, lorsque h devient trop petit, le résultat est entaché par
des erreurs d’arrondi. En effet, suivant le type de fonction à dériver, il arrivera un moment où
l’écart f (x +h)− f (x) sera inférieur à la précision du calculateur. Le résultat sera alors erroné.
Il existe donc une valeur optimale du pas qui dépendra de la fonction f (x) à dériver et de la
précision du calculateur. Pour une calculette de poche, la valeur relative du pas se situera
typiquement entre h/x = et h/x = . Pour un calcul en double précision, le pas relatif
pourra parfois descendre jusqu’à h/x = .

Fig.2. Dérivation de la fonction f (x) = sin(x) avec un léger bruit additif (à droite) et sans
bruit additif (à gauche).
La rangée de haut représente la fonction f (x) avec ses points de colocation. La rangée de bas
représente la fonction différenciée, avec la dérivée avant d’ordre 1, la dérivée arrière d’ordre 1
(trait fin) et la dérivée centrée d’ordre 2 (trait épais).

Pour résumer, il est conseillé de

Pour les dérivées d’ordre 1 et 2, les expressions les plus intéressantes sont les
différences centrées d’ordre 2

En général, plus le terme d’erreur est d’ordre élevé, plus le résultat tendra à
être précis. Mais ceci n’est pas toujours vrai lorsque les données sont affectées de
bruit. De fait, les dérivées d’ordre supérieur et les expressions d’ordre supérieur à 2
sont rarement utilisées

A titre d’exemple, un programme de calcul simplifié de la dérivée par différence centrée


s’écrit en Scilab :

function [dydx] = derivee (y,h)


% y : vecteur de valeurs a deriver
% h : pas de derivation
% dydx : difference centree de y(x) ( vecteur colonne )
y=input('introduisez le vecteur y')
h=input('introduisez la valeur de h')
y = y (:);
n = length (y);
dydx = zeros(n ,1);
dydx (1) = y(2) -y (1);
dydx(n) = y(n)-y(n -1);
dydx (2:n -1) = (y (3: n)-y (1:n -2)) / 2;
dydx = dydx / h;
plot(dydx),grid on
où [y] est un vecteur d’ordonnées obtenues pour des abscisses espacées de h. Voici la même
fonction, écrite sous une forme plus compacte :

function [dydx] = derivee(y,h)

y=input('Introduisez le vecteur [y]: ')%y : vecteur de valeurs a deriver


h=input('Introduisez le pas [h]: ')%h : pas de derivation
%dydx : difference centree de y(x) ( vecteur colonne )
n=length(y)
y = y (:); % met y en vecteur colonne
dydx = [y(2)-y(1);(y(3: n)-y(1:n-2))/2;y(n)-y(n -1)]/ h;
plot(dydx);grid on

Résultats et représentation graphique du programme, avec :

y=[1 -2 8 4 2 -3] ;

h=0.5 ;

n=
6

dydx =
-6
7
6
-6
-7
-10
II. Intégration numérique

II.1. La méthode des rectangles (point milieu)


Cette formule est obtenue en remplaçant f par une constante ‘égale’ à la valeur de f au milieu
de [a, b] (voir Fig.3, à gauche), ce qui donne :

Le poids est donc = (b – a) et le nœud = (a + b)/2. Si f ([a, b]), l’erreur de


quadrature est :

Fig.3. La formule du point milieu (à gauche) ; la formule composite du point milieu (à


droite).

En effet, le développement de Taylor au second ordre de f en c = (a+b)/2 s’´ecrit :

D’ou l’on déduit (2) en intégrant sur et en utilisant le théorème de la moyenne. On en


déduit que (1) est exacte pour les constantes et les fonctions affines (car dans les deux cas f(ξ)
= 0 pour tout ξ ). Le degré d’exactitude de la formule du point milieu est donc égal à
1. Il faut noter que si la longueur de l’intervalle n’est pas suffisamment petite, l’erreur
de quadrature (2) peut être assez importante. On retrouve cet inconvénient dans toutes les
formules d’intégration numérique présentées dans les prochaines sections.

Supposons maintenant qu’on approche l’intégrale I(f) en remplaçant f par son interpolation
polynomiale composite de degré 0 sur , construite sur m sous-intervalles de largeur
H= , avec m ≥ 1 (voir Fig.3, `a droite). En introduisant les nœuds de quadrature
, on obtient la formule composite du point
milieu :
Si l’erreur de quadrature est donnée par :

Ou On déduit de (4) que (3) a un degré d’exactitude égal à 1; on peut montrer (4)
en utilisant (2) et la linéarité de l’intégration. En effet, pour – et

La dernière égalité est une conséquence du théorème suivant, qu’on applique en posant
et = 1 pour – .

Ou Même dans ce cas, on a un degré d’exactitude égal à 1. On remarque que si la


longueur des intervalles H n’est pas suffisamment petite, l’erreur de quadrature peut être assez
grande. On retrouve cet inconvénient aussi pour les deux méthodes d’intégration numérique
présentées ci-dessous.

Le code script de la méthode des rectangles :

clear all,clc
format compact
Iexact=4.006994;
a=0;b=2;
fprintf('\n Méthode des rectangles \n');
fprintf('\n n\t \t I\t Pourc. erreur relat.\n');
fprintf('---------------------------------------------\n');
n=1;
v=[];
for k=1:24
n=2*n;
h=(b-a)/n;
i=1:n+1;
x=a+(i-1)*h;
f=sqrt(1+exp(x));
dim=length(x);
y=f;
if size(f)==1
y=diag(ones(dim))*y;
end
I=h*sum(y);
V=[v I];
erreur=abs(Iexact-I)/Iexact;
fprintf('%d\t %10.5f\t %10.8f\n',n,I,erreur);
plot(v);grid on
end

 Resultats obtenus:
Méthode des rectangles

n I Pourc. erreur relat.


---------------------------------------------
2 6.23888 0.55699883
4 5.10384 0.27373225
8 4.55062 0.13566939
16 4.27761 0.06753522
32 4.14200 0.03369274
64 4.07442 0.01682767
128 4.04069 0.00840918
256 4.02384 0.00420345
512 4.01541 0.00210146
1024 4.01120 0.00105068
2048 4.00910 0.00052535
4096 4.00805 0.00026270
8192 4.00752 0.00013138
16384 4.00726 0.00006572
32768 4.00713 0.00003289
65536 4.00706 0.00001647
131072 4.00703 0.00000826
262144 4.00701 0.00000416
524288 4.00700 0.00000211
1048576 4.00700 0.00000108
2097152 4.00700 0.00000057
4194304 4.00700 0.00000031
8388608 4.00699 0.00000018
16777216 4.00699 0.00000012

 D’apres ces resultants, on voit que la valeur converge à n=16777216, avec une erreur :
erreur=0.00000012.

 L’allure des résultats est représentée dans la figure suivante :


Fig.4. Méthode des rectangles.

II.2. La méthode du trapèze

Cette formule est obtenue en remplaçant f par , son polynôme d’interpolation de Lagrange
de degré 1 aux nœuds et (voir Fig.4, `a gauche). Les nœuds de la formule de
quadrature sont alors , et ses poids

Si l’erreur de quadrature est donnée par :

Ou ξ est un point de l’intervalle d’intégration.


Fig.5. Formules du trapèze.

En effet, d’après l’expression de l’erreur d’interpolation, on a :

Comme , le théorème de la moyenne donne :

Pour un d’ou (6). La formule du trapèze a donc un degré d’exactitude égal à 1,


comme celle du point milieu.
Pour obtenir la formule du trapèze composite, on procède comme dans le cas ou : on
remplace par son polynôme composite de Lagrange de degré 1 sur m sous-
intervalles, avec . En introduisant les nœuds de quadrature , pour
, on obtient :

Ou . Chaque terme dans (7) apparaît deux fois, excepté le premier et le


dernier. La formule peut donc s’écrire :

Comme on l’a fait pour (4), on peut montrer que l’erreur de quadrature associée à (8) s’écrit,
si
Ou Le degré d’exactitude est à nouveau égal à 1.

Le code script de la méthode du trapèze :

clear all,clc
Iexact=4.006994;
a=0;b=2;
fprintf('\n Méthode Trapézoïdale \n');
fprintf('\n n\t \t I\t Pourc. erreur relat.\n');
fprintf('---------------------------------------------\n');
n=1;
v=[];
for k=1:15
n=2*n;
h=(b-a)/n;
i=1:n+1;
x=a+(i-1)*h;
f=sqrt(1+exp(x));
I=(sum(f)-(f(1)+f(length(f)))/2)*h;
v=[v I];
erreur=abs(Iexact-I)/Iexact;
fprintf('%d\t %10.5f\t %10.8f\n',n,I,erreur);
plot(v);grid on
end

 Resultats obtenus:

Méthode Trapézoïdale

n I Pourc. erreur relat.


---------------------------------------------
2 4.08358 0.01911429
4 4.02619 0.00478998
8 4.01180 0.00119825
16 4.00819 0.00029965
32 4.00729 0.00007496
64 4.00707 0.00001878
128 4.00701 0.00000474
256 4.00700 0.00000123
512 4.00700 0.00000035
1024 4.00699 0.00000013
2048 4.00699 0.00000007
4096 4.00699 0.00000006
8192 4.00699 0.00000006
16384 4.00699 0.00000006
32768 4.00699 0.00000006
 D’apres ces resultants, on voit que la valeur converge à n=32768, avec une erreur :
erreur=0.00000006.

 L’allure des résultats est représentée dans la figure suivante :

Fig.6. Méthode du trapèze.

II.3. La méthode de Cavalieri-Simpson

La formule de Cavalieri-Simpson peut être obtenue en remplaçant par son


polynôme d’interpolation de degré 2 aux nœuds (voir Fig.
4, à droite). Les poids sont donnés par , et la
formule s’écrit :

On peut montrer que, si l’erreur de quadrature est :


Fig.5. Formules Cavalieri-Simpson.

Ou . On en d´eduit que la formule (9) a un degré d’exactitude égal à 3.


En remplaçant f par son polynôme composite de degré 2 sur on obtient la formule
composite correspondant à (9). On introduit les nœuds de quadrature
et on pose , avec . On a alors :

Ou . Si , l’erreur de quadrature associée à


(11) est :

Ou ; le degré d’exactitude de la formule est 3.

Le code script de la méthode Cavalieri-Simpson :

clear all,clc
Iexact=4.006994;
a=0;b=2;
fprintf('\n Méthode de Simpson \n');
fprintf('\n n\t \t I\t Pourc. erreur relat.\n');
fprintf('---------------------------------------------\n');
n=1;
v=[];
for k=1:10
n=2*n;
h=(b-a)/n;
i=1:n+1;
x=a+(i-1)*h;
f=sqrt(1+exp(x));
I=h/3*(f(1)+4*sum(f(2:2:n))+f(n+1));
if n>2
I=I+h/3*2*sum(f(3:2:n));
end
v=[v I];
erreur=abs(Iexact-I)/Iexact;
fprintf('%d\t %10.5f\t %10.8f\n',n,I,erreur);
plot(v);grid on
end

 Resultats obtenus:

Méthode de Simpson

n I Pourc. erreur relat.


---------------------------------------------
2 4.00791 0.00022935
4 4.00705 0.00001521
8 4.00700 0.00000101
16 4.00699 0.00000012
32 4.00699 0.00000006
64 4.00699 0.00000006
128 4.00699 0.00000006
256 4.00699 0.00000006
512 4.00699 0.00000006
1024 4.00699 0.00000006

 D’apres ces resultants, on voit que la valeur converge à n=1024, avec une erreur :
erreur=0.00000006.
 L’allure des résultats est représentée dans la figure suivante :

Fig.7. Méthode de Cavalieri-Simpson.


Conclusion

D’après l’étude effectuée dans notre travail, les résultats obtenus durant nos manipulations, on
a constaté que la différentiation détermine la vitesse à laquelle une courbe change en un
certain point de l’équation et cela revient à calculer la dérivée y’. Tandis que l’intégration
nous mène à calculer l’aire (la surface sous la courbe et cela revient à calculer l’intégrale de
f(x), d’après les trois méthodes étudiées (Rectangles, Trapèze et Simpson), On voit bien que
l'erreur absolue obtenue par la méthode de Simpson est beaucoup plus faible que celles
obtenues par les deux autres. Ceci confirme la règle: plus l'ordre de la méthode est grand, plus
la précision est bonne.
Références

 Cours d’Analyse Numérique.


 Applied Numerical Methods Using MATLAB.
 Méthodes Numériques «Algorithmes, analyse et application ».
 Numerical Methods in Engineering with MATLAB.