Intégration numérique

Intégration numérique


Ce document présente quelques méthodes classiques de calcul numérique d'intégrales. Il est destiné à des étudiants de licence.

I Introduction

II Formules de quadrature et leur ordre

III Mise en oeuvre sur Matlab

IV Etude de l'erreur d'une méthode de quadrature

V Exemples de calcul numérique de l'ordre

VI Bibliographie

VII Exercices


Vous trouverez ici le fichier pdf de ce document docintegnum.pdf

I Introduction

Intégration numérique → I Introduction

I-1 Problème étudié

Intégration numériqueI Introduction → I-1 Problème étudié
Soit une fonction f:[a,b] intégrable. Nous nous intéressons au calcul de son intégrale sur [a,b]:
I(f)= a bf(x)dx.
Dans ce chapitre on présente la théorie des quelques méthodes classiques de calcul numérique de I(f). Ces méthodes sont appelées méthodes de quadrature . Pour chaque méthode, on s'intéresse à son ordre, à l'étude de sa convergence et à l'étude de son erreur de convergence. On développe aussi quelques idées nécessaires à l'écriture d'un programme numérique pour le calcul de I(f).

I-2 Notations et définitions

Intégration numériqueI Introduction → I-2 Notations et définitions
Soit f:[a,b] bornée et soit
σ={a=x 0<x 1<<x n=b}
une subdivision de [a,b] de pas
σ=sup 0inx i+1x i
On pose:
m i=inf x]x i,x i+1[f(x),M i=sup x]x i,x i+1[f(x)
s σ(f)= i=0 n1(x i+1x i)m i,S σ(f)= i=0 n1(x i+1x i)M i
I +(f)=inf σS σ(f),I (f)=sup σs σ(f)

Définition [Intégrale de Riemann]

La fonction f est dite Riemann intégrable si I +(f)=I (f). Dans ce cas, on note I(f)= a bf(x)dx le réel I +(f)=I (f) et on l'appelle l'intégrale de Riemann associée à f.

Remarque

  1. Toute fonction continue par morceaux est Riemann intégrable.
  2. Toute fonction monotone est Riemann intégrable.

I-3 Résultats fondamentaux

Intégration numériqueI Introduction → I-3 Résultats fondamentaux

Proposition

Si f:[a,b] est Riemann intégrable, alors
a bf(x)dx=lim σ0S σ(f)=lim σ0s σ(f)
ou d'une manière équivalente
ε>0,η>0 tq σ,σ<ηI(f)S σ(f) ε I(f)s σ(f) ε

Remarque

Si f:[a,b] est continue alors
inf x]x i,x i+1[f(x)=inf x[x i,x i+1]f(x) et sup x]x i,x i+1[f(x)=sup x[x i,x i+1]f(x)

Théorème

Si f:[a,b] est continue alors
a bf(x)dx=lim n+ban i=0 n1m i=lim n+ban i=0 n1M i
et d'une façon plus générale
a bf(x)dx=lim n+ban i=0 n1f(c i) avec c i[x i,x i+1]

II Formules de quadrature et leur ordre

Intégration numérique → II Formules de quadrature et leur ordre

II-1 Idée de base

La plupart des algorithmes numériques procèdent comme suit : on subdivise l'intervalle [a,b] en plusieurs sous-intervalles σ={a=x 0<x 1<<x n=b} et on utilise le fait que
a bf(x)dx= i=0 n1 x i x i+1f(x)dx
De cette manière, on est amené au calcul de plusieurs intégrales pour lesquelles la longueur de l'intervalle d'intégration est relativement petite. Prenons une de ces intégrales, notons h i=x i+1x i la longueur de l'intervalle et g(t)=f(x i+th i). Un changement de variable nous donne alors:
x i x i+1f(x)dx=h i 0 1g(t)dt

Il reste alors à calculer une approximation de
0 1g(t)dt

II-2 Méthode des rectangles à gauche

Intégration numériqueII Formules de quadrature et leur ordre → II-2 Méthode des rectangles à gauche
0 1g(t)dtg(0)

L'aire du domaine limité par les droites x=0,x=1, l'axe Ox et 𝒞 g est approchée par l'aire du rectangle de base [0,1]
Exercice
Méthode du rectangle

II-3 Méthode des rectangles à droite

Intégration numériqueII Formules de quadrature et leur ordre → II-3 Méthode des rectangles à droite
0 1g(t)dtg(1)
L'aire du domaine limité par les droites x=0,x=1, l'axe Ox et 𝒞 g est approchée par l'aire du rectangle de base [0,1]

II-4 Méthode du point milieu

0 1g(t)dtg(1/2)
L'aire du domaine limité par les droites x=0,x=1, l'axe Ox et 𝒞 g est approchée par l'aire du rectangle de base [0,1]
Exercice
Méthode du point milieu

II-5 Méthode du trapèze

0 1g(t)dt1/2(g(0)+g(1))
L'aire du domaine limité par les droites x=0,x=1, l'axe Ox et 𝒞 g est approchée par l'aire du trapèze de base [0,1]

II-6 Méthode de Simpson

Traçons la parabole passant par les trois points (0,g(0)),(1/2,g(1/2)),(1,g(1)). En approchant l'intégrale par l'aire sous la parabole, on obtient la formule de Simpson :
0 1g(t)dt1/6(g(0)+4g(1/2)+g(1))
L'aire du domaine limité par les droites x=0,x=1, l'axe Ox et 𝒞 g est approchée par l'aire grisée.

II-7 Méthode de Newton-Cotes

On peut généraliser la méthode de Simpson en approchant l'intégrale par l'aire sous un polynôme de degré s1 passant par les s points équidistants
((is1,g(is1)),i=0,,s1),
on obtient des formules de quadrature appelées formules de Newton-Cotes données par la définition.

Définition

Une formule de quadrature est dite de Newton-Cotes à s étages si elle est de la forme:
0 1g(t)dt i=1 sb ig(c i).
Les c i sont les noeuds de la formule de quadrature et les b i sont les poids .

II-8 Ordre

II-8-1 Définition


Définition

On dit que l'ordre ordre d'une formule de quadrature de la formule de quadrature est p si elle est exacte pour tous les polynômes de degré inférieur ou égal à p1, c'est-à-dire: pour g polynôme de degré p1,
0 1g(t)dt= i=1 sb ig(c i)

On voit que les formules du point milieu et des trapèzes sont d'ordre 2. La formule de Newton-Cotes à s étages a un ordre p supérieur ou égal à s.
Le tableau suivant résume l'ordre ainsi que les poids des différentes méthodes de quadrature pour s7.
Tableau

s  
  ordre    b 1    b 2   b 3    b 4    b 5   b 6   b 7   nom
1    1    1                      rectangle

1  
  2    1                      pt. milieu

2  
  2    12    12                   trapèze

3  
  4    16    46    16                Simpson

4  
  4    18    38    38    18             Newton

5  
  6    790    3290    1290    3290    790          Boole

6  
  6    19288    75288    50288    50288    75288    19288       Boole

7  
  8    41840    216840    27840    272840    27840    216840    41840    Weddle

Exercice
Ordre d'une méthode de quadrature

II-8-2 Condition nécessaire et suffisante

Intégration numériqueII Formules de quadrature et leur ordreII-8 Ordre → II-8-2 Condition nécessaire et suffisante

Théorème

La formule de quadrature est d'ordre p si et seulement si:
i=1 sb ic i q1=1q, pour q=1,,p

Preuve
La nécessité de l'équivalence ) est une conséquence de la formule ) si l'on pose g(t)=t q1. Pour en montrer la suffisance, on utilise le fait qu'un polynôme de degré p1 est une combinaison linéaire de 1,t,,t p1 et que l'intégrale 0 1g(t)dt ainsi que l'expression i=1 sb ig(c i) sont linéaires en g.

II-8-3 Remarque sur l'ordre


Remarque

  1. En fixant les noeuds c 1,c 2,,c s (distincts), la condition avec p=s représente un système linéaire pour b 1,b 2,,b s
    (1 1 1 c 1 c 2 c s c 1 s1 c 2 s1 c s s1 )(b 1 b 2 b s )=(1 12 1s )

    Comme la matrice dans la formule est inversible (matrice de Vandermonde), la résolution de ce système nous donne une formule de quadrature d'ordre p=s.
  2. Si l'on vérifie les conditions pour la formule de Simpson, on fait une observation intéressante: par définition, il est évident que la condition est satisfaite pour q=1, 2, 3, mais on remarque qu'elle est aussi satisfaite pour q=4. En effet:
    160 3+46(12) 3+161 3=14 160 4+46(12) 4+161 4=52415.
    Elle est donc d'ordre 4. Par conséquent, elle n'est pas seulement exacte pour les polynômes de degré 2 mais aussi pour les polynômes de degré 3. Ceci est est une propriété qui peut être généralisée aux formules de quadrature symétriques (c'est-à-dire c i=1c s+1i,b i=b s+1i,1is).

    Coefficients et noeuds d'une formule de quadrature symétrique

II-8-4 Cas symétrique

Théorème

Une formule de quadrature symétrique a toujours un ordre pair: si elle est exacte pour les polynômes de degré 2m2, elle est exacte pour les polynômes de degré 2m1.

Preuve
Chaque polynôme g(t) de degré 2m1 peut être écrit sous la forme
g(t)=c(t12) 2m1+h(t)
h(t) est un polynôme de degré 2m2 et où c est une constante. Il suffit alors de montrer que la formule symétrique est exacte pour (t12) 2m1. A cause de la symétrie de cette fonction, la valeur exacte vaut
0 1(t12) 2m1dt=0
Pour une formule de quadrature symétrique on a
b i(c i12) 2m1+b s+1i(c s+1i12) 2m1=0

Donc l'approximation numérique de 0 1(t12) 2m1dt est également nulle.

III Mise en oeuvre sur Matlab

Intégration numérique → III Mise en oeuvre sur Matlab

III-1 Notations

Ici nous allons exécuter sur Matlab quelques méthodes de quadrature classiques pour approcher la valeur de l'intégrale
I exa= 1 21tdt=log(2)
avec une subdivision de l'intervalle [1,2] correspondante à
α i=1+1Ni;0iN et N=4.

III-2 Méthode des rectangles à gauche

Intégration numériqueIII Mise en oeuvre sur Matlab → III-2 Méthode des rectangles à gauche
On note I rg l'approximation de I exa par la méthode des rectangles à gauche et E rg l'erreur commise. Voici un programme Matlab qui calcule I rg et E rg:
Code Matlab
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
Iexa = log(2);
alpha = 1;
beta = 2;
N = 4;
h = (beta - alpha)/N;
x = [alpha:h:beta];
f = inline('1/x','x');
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Irg = 0.0;
for i = 1:N
    Irg = Irg + h*f(x(i));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
Irg
Erg = abs(Iexa - Irg)
%%%%%%%%%%%%%%%%%%%%%%%%

Les résultats obtenus par ce programme sont:
Irg = 7.595238095e-01
Erg = 6.637662896e-02

III-3 Méthode des trapèzes

Intégration numériqueIII Mise en oeuvre sur Matlab → III-3 Méthode des trapèzes
On note I tr l'approximation de I exa par la méthode des trapèzes et E tr l'erreur commise. Voici un programme Matlab qui calcule I tr et E tr:
Code Matlab
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
Iexa = log(2);
alpha = 1;
beta = 2;
N = 4;
h = (beta - alpha)/N;
x = [alpha:h:beta];
f = inline('1/x','x');
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Itr = 0.0;
for i = 1:N
    Itr = Itr + h*(0.5*f(x(i)) + 0.5*f(x(i+1)));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
Itr
Etr = abs(Iexa - Itr)

Les résultats obtenus par ce programme sont:
Itr = 6.970238095e-01
Etr = 3.876628964e-03

III-4 Méthode de Simpson

Intégration numériqueIII Mise en oeuvre sur Matlab → III-4 Méthode de Simpson
On note I si l'approximation de I exa par la méthode de Simpson et E si l'erreur commise. Voici un programme Matlab qui calcule I si et E si:
Code Matlab
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
Iexa = log(2);
alpha = 1;
beta = 2;
N = 4;
h = (beta - alpha)/N;
x = [alpha:h:beta];
f = inline('1/x','x');
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Isi = 0.0;
for i = 1:N
Isi = Isi+h*(1/6*f(x(i))+2/3*f((x(i)+x(i+1))/2)+1/6*f(x(i+1)));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
Isi
Es = abs(Iexa - Isi)

Les résultats obtenus par ce programme sont:
Isi = 6.931545307e-01
Esi = 7.350094585e-06

III-5 Commentaires des résultats

Intégration numériqueIII Mise en oeuvre sur Matlab → III-5 Commentaires des résultats
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 .

IV Etude de l'erreur d'une méthode de quadrature

Intégration numérique → IV Etude de l'erreur d'une méthode de quadrature
Pour étudier l'erreur commise en approchant une intégrale par l'une des formules de quadrature, nous commençons par une expérience numérique :

IV-1 Expérience numérique

IV-2 Estimation rigoureuse de l'erreur

IV-1 Expérience numérique

IV-1-1 Nombre d'évaluation

Prenons une fonction f définie sur [a,b], subdivisons l'intervalle en plusieurs sous-intervalles équidistants ( h=baN) et appliquons l'une des formules de quadrature du paragraphe précédent. Ensuite, étudions l'erreur (en échelle logarithmique),
E(f) = a bf(x)dx j=0 N1 x j x j+1f(x)dx = a bf(x)dx j=0 N1h 0 1f(x j+th)dt = a bf(x)dx j=0 N1h i=1 sb if(x j+c ih),
en fonction du nombre d'évaluations f e de la fonction f pour Newton-Cotes : f e est défini par:
f e=N(s1)+1
Le nombre f e repésente une mesure pour le travail effectué par l'ordinateur.

IV-1-2 Exemple

Voici les résultats obtenus par les formules de Newton-Cotes (trapèzes, Simpson, Boole) pour l'int'grale
I exa=sin(2)= 0 2cos(x)dx
et N=1,2,4,8,16,
Code Matlab
clear all;
Iexa = sin(2);
alpha = 0;
beta = 2;
f = inline('cos(x)','x');
%--------------------------
%--------------------------
% Méthode des trapèzes
%--------------------------
%--------------------------
s = 2;
for j = 1:1:10
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
N = 2^j;
fetr(j) = log10(N*(s-1) +1);
h = (beta - alpha)/N;
x = [alpha:h:beta];
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Itr=0.0;
for i = 1:N
Itr = Itr + h*(1/2*f(x(i)) + 1/2*f(x(i+1)));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
Etr(j) = log10(abs(Iexa - Itr)) ;
end
%--------------------------
%--------------------------
% Méthode de Simpson
%--------------------------
%--------------------------
s = 3;
for j=1:1:10
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
N = 2^j;
fesi(j) = log10(N*(s-1) +1);
h = (beta - alpha)/N;
x = [alpha:h:beta];
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Isi = 0.0;
for i = 1:N
Isi = Isi+h*(1/6*f(x(i))+2/3*f((x(i)+x(i+1))/2)+1/6*f(x(i+1)));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
Esi(j) = log10(abs(Iexa - Isi)) ;
end
%--------------------------
%--------------------------
% Méthode de Boole (s=6)
%--------------------------
%--------------------------
s = 6;
for j = 1:1:8
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
N = 2^j;
febo(j) = log10(N*(s-1) +1);
h = (beta - alpha)/N;
x = [alpha:h:beta];
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Ibo = 0.0;
for i = 1:N
Ibo = Ibo + h*(19/288*f(x(i)) + 75/288*f(x(i)+h/5) +
50/288*f(x(i)+(2*h/5)) + 50/288*f(x(i)+ (3*h/5)) +
75/288*f(x(i)+ (4*h/5)) + 19/288*f(x(i+1)));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
Ebo(j) = log10(abs(Iexa - Ibo)) ;
plot(fetr, Etr, 'k-.', fesi, Esi, 'k-+', febo, Ebo, 'k-*')
legend('Trapèzes', 'Simpson', 'Boole (s=6)')
xlabel('log10(Erreur)');
ylabel('log10(fe)');
title('Le travail fe en fonction de l''erreur');
end

La figure ci-dessous montre donne les résultats pour N=1,2,4,8,16.

IV-1-3 Interprétation des résultats

Nous constatons que:
  1. log 10(f e) dépend linéairement du nombre de chiffres exacts, donné par log 10(E(cos)).
  2. La pente de chaque droite est 1pp est l'ordre de la méthode de quadrature.
  3. Pour un travail équivalent (même f e), les formules avec un ordre élevé ont une meilleure précision.

IV-1-4 Justification des résultats

Etudions d'abord l'erreur faite sur un sous-intervalle de longueur h.
E(f,x 0,h) = x 0 x 0+hf(x)dxh i=1 sb if(x 0+c ih) = h( 0 1f(x 0+th)dt i=1 sb if(x 0+c ih)).

On considère la formule de quadrature d'ordre p. En supposant que f est suffisament différentiable, on peut remplacer f(x 0+th) et f(x 0+c ih) par les séries de Taylor au voisinage de x 0:
E(f,x 0,h) = q0h q+1q!( 0 1t qdt i=1 sb ic i q)f (q)(x 0) = h p+1p!(1p+1 i=1 sb ic i p)f (p)(x 0)+𝒪(h p+2)
La constante définie par
C=1p!(1p+1 i=1 sb ic i p)

s'appelle constante de l'erreur. Si on suppose que h est assez petit pour négliger 𝒪(h p+2) devant Ch p+1, on obtient:
E(f) = j=0 N1E(f,x j,h)Ch p j=0 N1hf (p)(x j)Ch p a bf (p)(x)dx = Ch p(f (p1)(b)f (p1)(a))
Cette formule nous permet de mieux comprendre les résultats de la figure précédente. En effet, on peut écrire E(f)C 1h p et feC 2h. Par conséquent,
log 10(E(f))log 10(C 1)plog 10(h)Constante+plog 10(fe).
Ceci montre la dépendance linéaire entre log 10(fe) et log 10(E(f)) et le fait que la pente soit de 1p.

IV-2 Estimation rigoureuse de l'erreur

Intégration numériqueIV Etude de l'erreur d'une méthode de quadrature → IV-2 Estimation rigoureuse de l'erreur

IV-2-1 Noyau de Peano

Dans ce paragraphe on s'occupe de l'estimation exacte de l'erreur d'une formule de quadrature en vue de démontrer les théorèmes de convergence et assurer une certaine précision du résultat numérique.

Théorème [et Définition]

Soit une formule de quadrature d'ordre p et un entier k vérifiant kp. Considérons une fonction f:[x 0,x 0+h] de classe 𝒞 k, alors l'erreur E(f,x 0,h) définie par la formule vérifie:
E(f,x 0,h)=h k+1 0 1N k(s)f (k)(x 0+sh)ds
N k est le noyau de Peano , défini par:
N k(s)=(1s) kk! i=1 sb i(c is) + k1(k1)!r + k1={r k1 si r>0 0 si r0

Preuve
La formule de Taylor avec reste intégral appliquée à f au point x 0 donne:
f(x 0+th)= j=0 k1(th) jj!f (j)(x 0)+h k 0 t(ts) k1(k1)!f (k)(x 0+sh)ds
En combinant cette dernière formule avec la formule et en utilisant le fait que
0 t(ts) k1g(s)ds= 0 1(ts) + k1g(s)ds
et en remarquant que la partie polynomiale dans l'avant-dernière équation ne contribue pas à l'erreur (à cause que pk), nous obtenons:
E(f,x 0,h)=h k+1 0 1( 0 1(ts) + k1(k1)!dt i=1 sb i(c is) + k1(k1)!)f (k)(x 0+sh)ds.
Une évaluation de l'intégrale intérieure donne le résultat.

Remarque

Pour une formule de quadrature d'ordre p et un entier k vérifiant 1kp on a:
0 1N p(s)ds=1p!(1p+1 i=1 sb ic i p)=C
C est la constante de l'erreur définie par la formule .

Exemple
Les noyaux de Peano pour la méthode du point milieu sont donnés par:
N 1(s)={s si s<12 1s si s12N 2(s)={s 22 si s12 (1s) 22 si s12

IV-2-2 Majoration de l'erreur

Nous sommes maintenant en mesure d'estimer l'erreur commise pour l'intervalle [a,b] tout entier et ceci pour une subdivision arbitraire h j=x j+1x j. Rappelons que, comme dans la formule , l'erreur est donnée par:
E(f)= a bf(x)dx j=0 N1h j i=1 sb if(x j+c ih j).
On a alors le théorème suivant:

Théorème

Soit une formule de quadrature d'ordre p et un entier k vérifiant kp. Considérons une fonction f:[a,b] de classe 𝒞 k. Alors l'erreur E(f) définie par la formule vérifie l'estimation suivante:
E(f)h k(ba) 0 1N k(s)dsmax x[a,b]f (k)(x)

h=max j(h j).

Preuve
La formule donne:
E(f,x 0,h) h k+1 0 1N k(s)f (k)(x 0+sh)ds h k+1 0 1N k(s)dsmax x[x 0,x 0+h]f (k)(x).
Comme l'erreur est la somme des erreurs sur les sous-intervalles de la subdivision, nous obtenons:
E(f) j=0 N1E(f,x j,h j) j=0 N1h j k+1 0 1N k(s)dsmax x[x j,x j+1]f (k)(x) j=0 N1h kh j 0 1N k(s)dsmax x[a,b]f (k)(x)
et puisque j=0 N1h j=ba, on obtient l'équation .

Exemple
Pour la formule du point milieu, on a:
E(f)h 2(ba)124max x[a,b]f (x).
Pour la formule des trapèzes:
E(f)h 2(ba)112max x[a,b]f (x).
Pour la formule de Simpson:
E(f)h 4(ba)12880max x[a,b]f (4)(x).
Pour la formule de Newton-Cotes ( s=5):
E(f)h 6(ba)11935360max x[a,b]f (6)(x).

Remarque

Le calcul de 0 1N p(s)ds pour ces formules n'est pas difficile. Considérons par exemple la formule de Newton-Cotes avec s=5. Nous constatons que N 6(s) ne change pas de signe sur [0,1] et en utilisant la remarque , nous obtenons:
0 1N 6(s)ds = 0 1N 6(s)ds = 16!17(3290(14) 6+1290(12) 6+3290(34) 6+7901 6) = 11935360.

Exercice
Noyau de Peano

V Exemples de calcul numérique de l'ordre

Intégration numérique → V Exemples de calcul numérique de l'ordre

V-1 Préliminaires

Ici nous allons vérifier à l'aide de Matlab l'ordre de quelques méthodes de quadrature déjà étudiées précédemment pour approcher la valeur de l'intégrale
I exa= α βf(t)dt
avec
f(t)=1t,α=1,β=2
et une subdivision de plus en plus fine de l'intervalle [α,β] correspondante à
α i=α+αβNi;0iN, et N=2 j;1j20.

V-2 Méthode des rectangles à gauche

Intégration numériqueV Exemples de calcul numérique de l'ordre → V-2 Méthode des rectangles à gauche
On note I rg l'approximation de I exa par la méthode des rectangles à gauche et E rg l'erreur commise. On affiche les valeurs de j, I rg, E rg, E rg/h, et E rg/h 2. Code Matlab
clear all;
fid = 1;
fmt = '%% %10d  %20.9e     %20.9e   %20.9e     %20.9e \n';
for j = 1:2:17
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
N = 2^j;
Iexa = log(2);
alpha = 1;
beta = 2;
h = (beta - alpha)/N;
x = [alpha:h:beta];
f = inline('1/x','x');
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Irg = 0.0;
for i = 1:N
Irg = Irg + h*f(x(i));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
%Irg
Erg = abs(Iexa - Irg) ;
Erg1 = abs(Iexa - Irg)/h ;
Erg2 = abs(Iexa - Irg)/h^2 ;
%%%%%%%%%%%%%%%%%%%%%%%%
fprintf(fid, fmt, j, Irg, Erg, Erg1, Erg2);
end

Les résultats obtenus par ce programme sont:
j         Irg              Erg               Erg/h           Erg/h^2
1 8.333333333e-01 1.401861528e-01 2.803723055e-01 5.607446111e-01 3 7.253718504e-01 3.222466981e-02 2.577973585e-01 2.062378868e+00 5 7.010207083e-01 7.873527709e-03 2.519528867e-01 8.062492374e+00 7 6.951041202e-01 1.956939668e-03 2.504882775e-01 3.206249952e+01 9 6.936357002e-01 4.885196685e-04 2.501220703e-01 1.280625000e+02 11 6.932692658e-01 1.220852137e-04 2.500305176e-01 5.120625000e+02 13 6.931776991e-01 3.051850945e-05 2.500076294e-01 2.048062500e+03 15 6.931548100e-01 7.629452736e-06 2.500019072e-01 8.192062496e+03 17 6.931490879e-01 1.907352286e-06 2.500004788e-01 3.276806276e+04

Commentaires:
On constate que E rg/h se stabilise autour de 2.5e-01 alors que E rg/h 2 explose au fur et à mesure que j augmente (les subdivisions de plus en plus fines). Ceci confirme le fait que cette méthode est d'ordre 1.

V-3 Méthode des trapèzes


On note I tr l'approximation de I exa par la méthode des trapèzes et E tr l'erreur commise. On affiche les valeurs de j, I tr, E tr, E tr/h, E tr/h 2, et E tr/h 3.

Code Matlab
clear all;
fid = 1;
fmt = '%% %10d  %12.9e     %12.9e   %12.9e   %12.9e     %12.9e \n';
for j = 1:2:17
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
N = 2^j;
Iexa = log(2);
alpha = 1;
beta = 2;
h = (beta - alpha)/N;
x = [alpha:h:beta];
f = inline('1/x','x');
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Itr = 0.0;
for i = 1:N
Itr = Itr + h*(0.5*f(x(i)) + 0.5*f(x(i+1)));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
Etr = abs(Iexa - Itr) ;
Etr1 = abs(Iexa - Itr)/h ;
Etr2 = abs(Iexa - Itr)/h^2 ;
Etr3 = abs(Iexa - Itr)/h^3 ;
%%%%%%%%%%%%%%%%%%%%%%%%
fprintf(fid, fmt, j, Itr, Etr, Etr1 , Etr2, Etr3);
end

Les résultats obtenus par ce programme sont:
j       Itr            Etr            Etr/h         Etr/h^2      Etr/h^3
1 7.08333e-01 1.51862e-02 3.03723e-02 6.07446e-02 1.21489e-01 3 6.94122e-01 9.74670e-04 7.79736e-03 6.23789e-02 4.99031e-01 5 6.93208e-01 6.10277e-05 1.95289e-03 6.24924e-02 1.99976e+00 7 6.93151e-01 3.81467e-06 4.88278e-04 6.24995e-02 7.99994e+00 9 6.93147e-01 2.38418e-07 1.22070e-04 6.25000e-02 3.20000e+01 11 6.93147e-01 1.49012e-08 3.05176e-05 6.25000e-02 1.28000e+02 13 6.93147e-01 9.31321e-10 7.62938e-06 6.24999e-02 5.11999e+02 15 6.93147e-01 5.82108e-11 1.90745e-06 6.25033e-02 2.04811e+03 17 6.93147e-01 3.63654e-12 4.76648e-07 6.24752e-02 8.18875e+03

Commentaires:
On constate que E tr/h 2 se stabilise autour de 6.25e-02 alors que E rg/h 3 explose au fur et à mesure que j augmente. Ceci confirme le fait que cette méthode est d'ordre 2.

V-4 Méthode de Simpson


On note I si l'approximation de I exa par la méthode de Simpson et E si l'erreur commise. On affiche les valeurs de j, I si, E si, E si/h 3, E si/h 4, et E si/h 5.
Code Matlab
clear all;
fid = 1;
fmt = '%% %3d  %12.5e  %12.5e  %12.5e  %12.5e  %12.5e \n';
for j = 1:1:10
%%%%%%%%%%%%%%%%%%%%%%%%
%      Donnees
%%%%%%%%%%%%%%%%%%%%%%%%
N = 2^j;
Iexa = log(2);
alpha = 1;
beta = 2;
h = (beta - alpha)/N;
x = [alpha:h:beta];
f = inline('1/x','x');
%%%%%%%%%%%%%%%%%%%%%%%%
% Corps du programme
%%%%%%%%%%%%%%%%%%%%%%%%
Isi = 0.0;
for i = 1:N
Isi = Isi + h*(1/6*f(x(i)) + 2/3*f((x(i) + x(i+1))/2) + 1/6*f(x(i+1)));
end
%%%%%%%%%%%%%%%%%%%%%%%%%%
% Affichage des resultats
%%%%%%%%%%%%%%%%%%%%%%%%%%
Esi = abs(Iexa - Isi) ;
Esi3 = abs(Iexa - Isi)/h^3 ;
Esi4 = abs(Iexa - Isi)/h^4 ;
Esi5 = abs(Iexa - Isi)/h^5 ;
%%%%%%%%%%%%%%%%%%%%%%%%
fprintf(fid, fmt, j, Isi, Esi, Esi3 , Esi4, Esi5);
end

Les résultats obtenus par ce programme sont:
j       Isi           Esi          Esi/h^3       Esi/h^4      Esi/h^5
1 6.93254e-01 1.06788e-04 8.54302e-04 1.70860e-03 3.41721e-03 2 6.93155e-01 7.35009e-06 4.70406e-04 1.88162e-03 7.52650e-03 3 6.93148e-01 4.72259e-07 2.41797e-04 1.93437e-03 1.54750e-02 4 6.93147e-01 2.97299e-08 1.21774e-04 1.94838e-03 3.11740e-02 5 6.93147e-01 1.86151e-09 6.09979e-05 1.95193e-03 6.24619e-02 6 6.93147e-01 1.16398e-10 3.05130e-05 1.95283e-03 1.24981e-01 7 6.93147e-01 7.27574e-12 1.52583e-05 1.95307e-03 2.49992e-01 8 6.93147e-01 4.54081e-13 7.61822e-06 1.95026e-03 4.99268e-01 9 6.93147e-01 2.80886e-14 3.76999e-06 1.93024e-03 9.88281e-01 10 6.93147e-01 2.66454e-15 2.86102e-06 2.92969e-03 3.00000e+00

Commentaires:
On constate que E si/h 4 se stabilise autour de 1.95e-03 alors que E si/h 5 explose au fur et à mesure que j augmente. Ceci confirme le fait que cette méthode est d'ordre 4.

VI Bibliographie

Intégration numérique → VI Bibliographie
  1. Philipe G. Ciarlet. Introduction à l'analyse numérique et à l'optimisation . Dunod 1990.
  2. Jean-Pierre Demailly. Analyse numérique et équations différentielles . Presses Universitaires de Grenoble, 1996.
  3. Ernst Hairer. Introduction à l'analyse numérique . Université de Genève, section mathématiques, case postale 240. Octobre 2001.

VII Exercices

Intégration numérique → VII Exercices

Exercice
Soit f:[1,1] une fonction de classe 𝒞 2. On considère la méthode d'intégration numérique approchée donnée par
1 1f(x)dxf(w)+f(w), avec w[0,1]
  1. Calculer l'ordre de cette méthode en fonction de w.
  2. On se place dans le cas où cette méthode est d'ordre 1.
    1. Calculer le noyau de Peano G 1(t) et tracer le graphe de G 1 pour w=58. Pour quelles valeurs de w le noyau G 1 est-il de signe constant?
    2. Montrer que l'erreur E(f)= 1 1f(x)dxf(w)f(w) vérifie la majoration
      E(f)C(w)\sup ξ[1,1](f(ξ))
      C(w) est une constante dont on déterminera la valeur optimale
      1. lorsque G 1 est de signe constant.
      2. lorsque w=58.

Exercice
On rappelle que par construction, les méthodes de Newton-Cotes sont les formules de quadratures élémentaires de type
0 1P(x)dx= i=0 nλ iP(x i)
telles que les noeuds x 0<x 1<<x n1<x n soient équidistants et centrés dans l'intervalle [0,1], les λ i étant choisis de telle façon que ces formules soient exactes pour tout polynôme P de degré inférieur ou égale à n. Montrer que si n est pair ces formules sont aussi exactes pour les polynômes de degré n+1. (Indication : on pourra remarquer que λ i=λ ni et en tirer les conséquences pour les polynômes impairs.)

Exercice
Construire les formules d'intégration numérique suivantes :\
1 1φ(s)dsφ(1/3)+φ(1/3),hboxexactesiφ𝒫 1;\
1 1φ(s)dx23(2φ(1/2)φ(0)+2φ(1/2)),hboxexactesiφ𝒫 3;\
1 1φ(s)ds112(11φ(3/5)+φ(1/5)+φ(1/5)+11φ(3/5)),hboxexactesiφ𝒫 3
Déterminer leur noyau de Peano et en déduire l'erreur commise.

Exercice
  1. Montrer que
    1e x1=b 0x+b 1+b 22!x++b 2n(2n)!x 2n1+o(x 2n)
    (Indication : appliquer la formule d'Euler-MacLaurin à e x entre 0 et 1.)
  2. Montrer que si f𝒞 () est une fonction périodique de période ba, alors
    T h(f) af b(x)dxC n(f,a,b)h n
    n et où T h(f) représente l'évaluation de la formule des trapèzes de pas h pour f sur [a,b].

Exercice
Soient x 1 et x 2 deux points de [1,1] et λ 1 et λ 2. On considére la formule d'itégration suivante :
1 1f(x)dxλ 1f(x 1)+λ 2f(x 2)
Quelles conditions doivent vérifier x 1,x 2,λ 1 et λ 2 pour que cette formule soit exacte pour
  1. les fonctions constantes?
  2. les fonctions affines?
  3. les polynômes de degré inférieur ou égale à 2?

Exercice
On considère la formule d'intégration suivante :
1 1f(x)dxkf(α)+f(β)(1)
  1. Déterminer les valeurs de k,α et beta pour que (1) soit exacte sur 𝒫 2.
  2. En déduire les valeurs de k,α et beta pour que (1) soit d'ordre le plus élevé possible.
    1. Calculer le noyau de Peano dans le cas où (1) est d'ordre 3 et vérifier que ce noyau est une fonction paire.
    2. En déduire qu'il existe ξ]1,1[ tel que E(f)=1135f (4)(ξ)E(f) est l'erreur d'intégration.
    3. Donner la formule d'intégration relative à (1) sur [a,b].
    4. Estimer l'erreur d'intégration obtenue par la méthode composée associée à (1) sur [a,b] avec un pas constant h=ban.

Exercice
On considére la formule d'intégration suivante :
0 πf(x)sin(2x)dxa 1f(x 1)+a 2f(x 2)
  1. Déterminer a 1,a 2,x 1 et x 2 de sorte que cette formule soit exacte sur 𝒫 3.
  2. Calculer alors l'ordre de cette méthode.

Exercice
  1. Soit f(x)=11+x 2. Montrer qu'il existe un polynôme P unique de degré 2 vérifiant:
    P(0)=f(0),P(1)=f(1) et P(12)=f(12).
    Déterminer 0 1P(t)dt et la comparer à 0 1f(t)dt.
  2. On considére 0 1sinπt 22dt. On veut calculer cette intégrale avec une erreur inférieur à 10 3.
    1. Déterminer le pas h nécessaire pour la méthode des trapèzes.
    2. Déterminer le pas h nécessaire pour la méthode de Simpson.

Exercice
  1. Trouver l'ordre des formule de : rectangle, trapèze et Simpson.
  2. Pour f𝒞 4([1,1]). On pose
    E(f)= 1 1f(x)dx26[f(1)+4f(0)+f(1)]hboxetK 3(t)=E(x(xt) + 3)
    Montrer que K 3(t)= t 1(xt) 3dx2(23t 3+16(1t) 3).
  3. En déduire K 3(t)=112(1t) 3(1+t). Calculer par deux méthodes différentes 1 1K 3(t)dt.
  4. Enoncer le thérème de Peano et montrer que si f𝒞 4([a,b]) alors on a :
    af b(t)dth6(f(a)+2 k=1 n1f(a k)+4 k=0 n1f(a k+ba2n)+f(b))
    (ba) 52880n 4sup [a,b]f 4(t)

document sur quelques méthodes d'intégration numérique (niveau licence).
: numerical_method,integral, CFAI,interactive math, server side interactivity

The most recent version

Cette page n'est pas dans son apparence habituelle parce que WIMS n'a pas pu reconnaître votre navigateur web.
Afin de tester le navigateur que vous utilisez, veuillez taper le mot wims ici : puis appuyez sur ``Entrer''.

Veuillez noter que les pages WIMS sont générées interactivement; elles ne sont pas des fichiers HTML ordinaires. Elles doivent être utilisées interactivement EN LIGNE. Il est inutile pour vous de les ramasser par un programme robot.