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.
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.
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.
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.
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.
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 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
y=[1 -2 8 4 2 -3] ;
h=0.5 ;
n=
6
dydx =
-6
7
6
-6
-7
-10
II. Intégration numérique
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 – .
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
D’apres ces resultants, on voit que la valeur converge à n=16777216, avec une erreur :
erreur=0.00000012.
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
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.
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
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
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 :
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