Calcul d'intégrale

 

L'objectif est d'élaborer un programme de calcul approché d'intégrales de fonctions par découpage de l'intervalle d'intégration en sous-intervalles, et à substituer un polynôme à la fonction à intégrer sur chacun de ces sous-intervalles.
Un rappel de quelques méthodes est effectué.
La méthode qui sera utilisée est la méthode de Romberg et l'on verra pour quelle raison.

Rappels théoriques

Hypothèses :

integrale

- l'intervalle d'intégration est un segment [ a , b ].

- la fonction est définie en tout point et intégrable au sens de Riemann sur [ a , b ].

- on pose h = (b-a) / d n où d représente le degré du polynôme et n le nombre de sous-intervalles.

Quelques Méthodes de résolution :

Méthode des Trapèzes
Elle utilise un polynôme de degré d=1 pour l'interpolation.
La fonction est remplacée par un segment de droite sur chaque sous-intervalle.
Dans ce cas, on a (n+1) points methode des trapezes avec methode des trapezes
Par conséquent, sur l'intervalle methode des trapezes l'intégrale methode des trapezes est approchée par methode des trapezes

Finalement, l'intégrale I vaut

methode des trapezes

Méthode de Simpson
Elle utilise un polynôme de degré d=2 pour l'interpolation.
La fonction est remplacée par un arc de parabole sur chaque sous-intervalle.
Dans ce cas, on a (2n+1) points methode de Simpson avec methode de Simpson

Par conséquent, sur l'intervalle methode de Simpson l'intégrale methode de Simpson est approchée par methode de Simpson

Finalement, l'intégrale I vaut methode de Simpson

On démontre que la différence entre la valeur exacte de l'intégrale et la valeur calculée est proportionnelle à methode de Simpson

Méthode de Villarceau
Elle utilise un polynôme de degré d=4 pour l'interpolation.
Par conséquent, sur l'intervalle methode de Villarceau l'intégrale methode de Villarceau est approchée par methode de Villarceau

Finalement, l'intégrale I vaut methode de Villarceau

On démontre que la différence entre la valeur exacte de l'intégrale et la valeur calculée est proportionnelle à methode de Villarceau

Inconvénients
Les erreurs numériques dues aux méthodes précédentes peuvent annuler la précision qu'elles apportent dans l'approche de la valeur de l'intégrale.
En général, on utilise une vingtaine d'intervalles avec la méthode de Villarceau et une centaine avec la méthode de Simpson, ce qui assure un bon compromis entre erreur de méthode et erreurs numériques.
D'une façon générale, on ne connaît pas la précision du résultat.

Méthode de Romberg
Cette méthode permet de choisir à priori la précision du résultat : les itérations sont effectuées jusqu'à ce que la précision demandée soit atteinte.
La méthode se fonde sur une adaptation de la méthode des trapèzes.
On considère que les hypothèses définies précédemment demeurent valables.
Etant donné un pas h, une estimation methode de Romberg de l'intégrale I est obtenue par la méthode des trapèzes.
Si l'on divise le pas par 2, l'estimation methode de Romberg sera plus précise.
De même, on peut calculer methode de Romberg Cette suite converge vers I.
On démontre que l'on peut obtenir une deuxième suite methode de Romberg pour laquelle le terme methode de Romberg est une meilleure approximation de l'intégrale que methode de Romberg

methode de Romberg

On peut ensuite obtenir une troisième suite telle que : methode de Romberg
Et d'une manière générale : methode de Romberg
D'où le tableau suivant :

methode de Romberg

On démontre que methode de Romberg converge bien plus rapidement vers I que methode de Romberg
Pratiquement, on commence par calculer methode de Romberg par la méthode des trapèzes.
On calcule ensuite methode de Romberg et l'on déduit methode de Romberg puis methode de Romberg
D'une façon générale, on obtient le tableau d'ordre (n+1) à partir du tableau d'ordre n en calculant methode de Romberg et en déduisant les methode de Romberg où k ∈ [1 , n+1]

Le calcul est terminé lorsque la différence entre methode de Romberg est inférieure à une limite fixée.

Algorithme de la Méthode de Romberg

On se propose de calculer une valeur approchée de π à partir de l'intégrale

methode de Romberg

Programme principal

- Demander les bornes d'intégration: noms de variables a et b.

- Demander la précision souhaitée : nom de variable EPS.
différence entre deux estimations successives qui provoque l'arrêt des itérations.

- Demander le nombre minimal d'itérations : nom de variable iter_min.
permet d'éviter la sortie prématurée.

- Demander le nombre maximal d'itérations : nom de variable iter_max.
c'est le nombre d'itérations au delà duquel l'ordinateur abandonne :
le temps de calcul maximal varie comme methode de Romberg
La valeur 12 est considérée comme raisonnable.

Fonction à intégrer

Définir une fonction f(x) qui représente la fonction à intégrer.

Méthode des Trapèzes

définir une fonction tr :
        entrée : le nombre de sous-intervalles n
        sortie : la valeur de la fonction
Cette fonction servira pour le calcul de methode de Romberg. On pourra choisir ici methode de Romberg

fonction tr( nn )
        s ← 0
        si ( nn > 1 ) alors
                pour i de 1 à nn-1 faire
                #1
                        x ← a + i*h
                        s ← s + f(x)
                1#
        retourne h * s + (h/2)* ( f(a) + f(b) )

Méthode de Romberg

Outre le calcul proprement dit, il s'agira d'écrire à l'écran :
        - le numéro de l'itération et la valeur de l'intégrale à ce moment.
        - la valeur finale.
        - la précision réellement atteinte.

fonction romberg()
        t(0,0) ← (h/2)* ( f(a) + f(b) )
        pour q de 1 à iter_max-1 faire
        #1
                écrire q et t(q-1,0)
                h ← h/2
                t(0,q) ← tr(1<<q)
                k ← 1
                pour i de 1 à q faire
                #2
                        k ← k*4
                        j ← q-i
                        t(i,j) ← ( k - t(i-1,j+1) ) / (k-1)
                2#
                precision ← | t(q,0) - t(q-1,0) |
                si (precision < eps) et (q >= iter_min) alors retourne t(q,0)
        1#
        si (precision > eps)
        #3
                écrit 'précision non vérifiée'
                retourne 0
        3#

Traduction en php

Résultats

Vous devez avoir ce qui suit à l'écran :
Borne inférieure : 0
Borne supérieure : 1
Précision souhaitée : 1e-6
Nombre mini d'itérations : 6
Nombre maxi d'itérations : 12
q = 1 => 3.000000000000
q = 2 => 3.133333333333
q = 3 => 3.142117647059
q = 4 => 3.141585783762
q = 5 => 3.141592665278
q = 6 => 3.141592653638
La valeur de l'intégrale est 3.141592653590
La précision est 4.85239e-11

 


Si vous aimez le site

 

Select a language if you need :


Page chargée en 0.004 sec.

Dernière Modification : Mer 25 Janvier 2017 8:56
Copyright © 1999-2017 Jean-Paul Molina Tous droits réservés.

vers Google