Méthode des rectangles

Cette méthode consiste à remplacer l'intégrale par une somme de Riemann obtenue en prenant une subdivision arithmétique pointée de raison (b-a)/n, le point choisi étant le milieu de chaque sous-intervalle. Voici une appliquette illustrant ce principe:
Vous pouvez faire varier n avec les boutons.

Voici un programme python effectuant le calcul ci-dessus.

Résultat de l'exécution:
9.93422127066 -0.0120233317076
9.93300247848 -0.0108045395234
9.93245505926 -0.0102571203065
9.93059682075 -0.00839888178918
9.92932215163 -0.00712421267244
9.92849613403 -0.00629819506953
9.92774530147 -0.00554736250897
9.92710074872 -0.00490280976247
9.92657606155 -0.00437812259234
9.92613196782 -0.00393402885988

Méthode des trapèzes

Cette méthode consiste à prendre une subdivision arithmétique de raison (b-a)/n et à remplacer localement la fonction par la droite passant par les points (xi,f(xi)), (xi+1,f(xi+1)).
Il s'agit donc d'une approximation par une fonction affine par morceaux.
Voici une appliquette illustrant ce principe:
Vous pouvez faire varier n.

Voici un programme python effectuant le calcul ci-dessus.

Résultat de l'exécution:
9.89593896854 0.026258970413
9.89962291191 0.0225750270479
9.90204678475 0.0201511542046
9.90536623717 0.016831701785
9.90780094031 0.0143969986514
9.9095631899 0.0126347490526
9.91108051293 0.0111174260302
9.91236048649 0.00983745246746
9.91341778289 0.00878015606965
9.9143127096 0.0078852293568

Méthode de Simpson

Les deux méthodes qui précèdent sont des méthodes 'linéaires' procédant par approximation de la fonction à intégrer par des fonctions constantes ou affines.
On prend une subdivision arithmpétique (x0,x1, .. ,xn) de [a,b] de raison (b-a)/n.
La méthode de Simpson remplace f sur chaque intervalle [xi,xi+1] par un polynôme de degré 2, passant par les 3 points (xi,f(xi)), (mi,f(mi),(xi+1,f(xi+1)) où mi est le milieu de [xi,xi+1].
Le calcul des coefficients des polynômes d'interpolation et l'évaluation des intégrales correspondantes donne la formule.
S n ( f ) = b a 6 n i = 0 n 1 ( f ( x i ) + 4 f ( x i + x i + 1 2 ) + f ( x i + 1 ) )
Voici un programme python effectuant le calcul ci-dessus, pour la même fonction que précédement et pour les mêmes bornes

Et voici le résultat de son exécution:
9.92187595629 0.000321982667016
9.92231896776 -0.000121028802793
9.92218662622 1.13127355359e-05
9.92214841452 4.95244354966e-05
9.92218515265 1.2786304513e-05
9.92219037195 7.56700407933e-06
9.92218732798 1.06109808424e-05
9.92218996866 7.97029499289e-06
9.92219221508 5.72387901521e-06
Vous pouvez comparer les erreurs correspondantes au même niveau n d'approximation.
Les méthodes linéaires sont en 1/n2, la méthode de simpson est en 1/n4.

Accélération de convergence

Il est facile de prouver que la méthode des trapèzes, tout comme celle des rectangles, dans le cas de l'intégration d'une fonction dérivable et à dérivée bornée donne une erreur en 1/n2. En effet on peut majorer |f(xi+1)-f(xi)| pat M(xi+1-xi)où M=Supx∈[a,b]|f'(x)|.
Désignons par In(f) l'approximation de l'intégrale de f sur [a,b] en divisant [a,b] en n parties égales par la méthode des trapèzes.
Donc si au lieu d'augmenter n d'une unité à chaque fois, nous multiplions n par 2, nous aurons une erreur divisée par 1/4 qui sera donc la vitesse de convergence de la suite un=I2n(f).
Nous pouvons donc utiliser le procédé d'accélération de Richardson-Romberg à la suite un, en la remplaçant par v n = 4 u n + 1 u n 3
On obtient alors une suite vn dont l'erreur est en 1/n4 La vitesse de convergence de la suite tn=v2n est donc 1/16.
On accélère la convergence en la remplaçant par w n = 16 t n + 1 t n 15
et ainsi de suite.
Voici un programme python effectuant le calcul ci-dessus, pour la même fonction que précédement et pour les mêmes bornes

Et voici le résultat de son exécution:
2.65897881491e-09
1.172395514e-13

Méthodes aléatoires

La méthode dite de 'Monte-Carlo' repose sur un principe assez simple:
Supposons que nous générions un 'tir aléatoire uniforme' dans le rectangle 1≤x≤8 0≤y≤4, lequel a pour surface 28 unités.
Nous comptons un 'succès' si le point tiré appartient à l'hypographe, et un 'échec' dans le cas contraire.
La théorie élémentaire des probabilités nous suggère que si on divise le nombre de succès par le nombre de tirs (succès et échecs confondus), on obtient une proportion d'autant plus proche du rapport de l'intégrale à 28 que le nombre de tirs est important (loi des grands nombres).
Avec l'appliquette qui suit, à chaque fois que vous appuyez sur le bouton, vous déclenchez 10 tirs aléatoires successifs avec cumuls à chaque fois.
Appuyer sur 'Recomencer' pour tout recommencer depuis le début.