18
Chapitre 5 Méthodes d’intégration numérique Le but Le but de ce chapitre est d’aborder le calcul général de l’intégrale d’une fonction f (x) sur un domaine fini délimité par des bornes finies a et b (les cas des bornes infinies n’est donc pas couvert ici) : I = Z b a f (x)dx . (5.1) Les motivations Dans certains cas très limités, une telle intégrale peut être calculée analytiquement (à la main). Cepen- dant, ce n’est que très rarement possible, et le plus souvent un des cas suivants se présente : – Le calcul analytique est long, compliqué et rébarbatif – Le résultat de l’intégrale est une fonction compliquée qui fait appel à d’autres fonctions elles-même longues à évaluer – Cette intégrale n’a pas d’expression analytique (par exemple la fonction erreur : Erf (x)= 2 p R x 0 e -x 02 dx 0 ). Dans tous ces cas, on préfèrera calculer numériquement la valeur de l’intégrale I . Le principe L’idée principale est de trouver des méthodes qui permettent de calculer rapidement une valeur approchée e I de l’intégrale à calculer : e I I (5.2) Comme toujours, un programme numérique n’invente rien, et ne fait que procéder très rapidement à un calcul que l’on pourrait en principe faire à la main. Une méthode bien connue consiste par exemple à diviser l’aire sous la courbe en un grand nombre de petits rectangles d’aire e I k et de les sommer. Le résultat e I = P k e I k est alors une approximation de l’intégrale I . Cette approximation est d’autant meilleure que la largeur h des rectangles tend vers 0, c’est à dire : lim h!0 e I = I . Cette méthode dite des rectangles est un exemple parmi d’autres. Nous le reverrons, mais nous verrons aussi d’autres méthodes, plus générales et plus performantes. Pour presque toutes les méthodes (sauf la méthode de Monte-Carlo), l’intégrale numérique est calculée à partir de l’évaluation de la fonction f (x) en un nombre de point n +1 distincts : f k = f (x k ),k 2 [0,n]. Elle s’écrit alors : e I =(b - a) n X k=0 w k f k (5.3) 33

Méthodes d’intégration numérique

  • Upload
    djamel

  • View
    255

  • Download
    0

Embed Size (px)

DESCRIPTION

Méthodes d’intégration numérique

Citation preview

  • Chapitre 5

    Mthodes dintgration numrique

    Le butLe but de ce chapitre est daborder le calcul gnral de lintgrale dune fonction f(x) sur un domaine

    fini dlimit par des bornes finies a et b (les cas des bornes infinies nest donc pas couvert ici) :

    I =

    Z baf(x)dx . (5.1)

    Les motivationsDans certains cas trs limits, une telle intgrale peut tre calcule analytiquement ( la main). Cepen-

    dant, ce nest que trs rarement possible, et le plus souvent un des cas suivants se prsente : Le calcul analytique est long, compliqu et rbarbatif Le rsultat de lintgrale est une fonction complique qui fait appel dautres fonctions elles-mmelongues valuer

    Cette intgrale na pas dexpression analytique (par exemple la fonction erreur : Erf(x) = 2p

    R x0 e

    x02dx0).Dans tous ces cas, on prfrera calculer numriquement la valeur de lintgrale I.

    Le principeLide principale est de trouver des mthodes qui permettent de calculer rapidement une valeur approcheeI de lintgrale calculer : eI I (5.2)

    Comme toujours, un programme numrique ninvente rien, et ne fait que procder trs rapidement un calculque lon pourrait en principe faire la main. Une mthode bien connue consiste par exemple diviser lairesous la courbe en un grand nombre de petits rectangles daire eIk et de les sommer. Le rsultat eI = Pk eIkest alors une approximation de lintgrale I. Cette approximation est dautant meilleure que la largeur h desrectangles tend vers 0, cest dire : limh!0 eI = I. Cette mthode dite des rectangles est un exemple parmidautres. Nous le reverrons, mais nous verrons aussi dautres mthodes, plus gnrales et plus performantes.

    Pour presque toutes les mthodes (sauf la mthode de Monte-Carlo), lintgrale numrique est calcule partir de lvaluation de la fonction f(x) en un nombre de point n+1 distincts : fk = f(xk), k 2 [0, n]. Ellescrit alors : eI = (b a) nX

    k=0

    wkfk (5.3)

    33

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    Dans ce cas, on parle de mthodes de quadrature.

    Nous allons voir 4 types de mthodes direntes :1.1- Les mthodes de Newton-Cotes simples1.2- Les mthodes de Newton-Cotes composites1.3- Les mthodes de Gauss-Legendre1.4- Les mthodes de Monte-Carlo

    PerformancesLa performance dune mthode se juge en comparant la prcision du rsultat : Celle-ci se caractrise en estimant lerreur entre lapproximation et la valeurrelle de lintgrale :

    = I eI (5.4)La valeur de lerreur ne peut pas tre calcule exactement puisquen gnral, on ne connat pas lint-grale I que lon cherche calculer. Cependant, une majoration peut souvent tre estime en tudiantle dveloppement en srie de Taylor de la fonction f(x).

    La rapidit dexcution ncessaire pour atteindre ce rsultat. De manire gnrale, toutes les mthodespeuvent atteindre de trs grandes prcisions. Cependant, le temps de calcul augmente avec la prci-sion. Ce temps naugmente pas de la mme manire pour toutes les mthodes si bien que certainessavrent plus ecaces que dautres. En particulier, le temps de calcul des mthodes de quadrature estproportionnel au nombre de points o la fonction f(x) est value.

    5.1 Lois de Newton-Cotes simplesComme nous allons le voir, les mthodes de Newton-Cotes simples ne permettent pas, elles-seules,

    datteindre des prcisions susantes sur des intervalles [a, b] finis et ne sont donc jamais utilises dans cecas. En revanche, elles deviennent prcises lorsque |b a|! 0, et elles constituent alors la base lmentairedes mthodes composites prsentes dans la section suivante.

    5.1.1 PrincipeLe principe gnrale des mthodes de Newton-Cotes simples est dapproximer la fonction f(x) int-

    grer par un polynme P (x) f(x). Si cette approximation est susamment bonne alors, lintgrale de cepolynme eI = Z b

    aP (x)dx (5.5)

    sera une bonne approximation de I =R ba f(x)dx. Lavantage est que lon sait calculer analytiquement la

    valeur exacte de eI. Dans ces mthodes, on choisit des polynmes de degr p qui concident avec f(x) en p+1points distincts, espacs rgulirement entre les bornes a et b. Ces points sont situs aux positions :

    {xk = a+ kh, k 2 [0, p]} avec h = b ap

    (5.6)

    On a alors 8k 2 [0, p] P (xk) = fk = f(xk).Des polynmes de degrs dirents dfinissent des mthodes direntes aux performances direntes.

    Nous allons voir les plus courantes, cest dire les mthodes dordres les plus bas.

    34

  • CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE Universit Paul Sabatier 2014-2015

    5.1.2 Mthode du rectangle (p = 0)

    Cette mthode utilise le polynme de degr le plus bas, savoirle polynme constant :

    P0(x) = f(a) = f0. (5.7)

    Lintgrale approche eI0 = R ba P0(x)dx se calcule alors triviale-ment et donne : eI0 = (b a)f0 (5.8)Il sagit de laire du rectangle.

    Cette intgrale numrique ncessite une unique valuation de la fonction f (en x0 = a) et reprsente doncce quon peut faire de plus rapide.

    Lerreur peut tre estime en utilisant les dveloppements en srie de Taylor ou le thorme des accrois-sements finis on trouve alors pour h = b a :

    9 2 [a, b] 0 = h2

    2f 0() c.a.d. |0| h

    2

    2Sup[a,b] (|f 0|) (5.9)

    Dmonstration : Pour calculer lerreur, on peut utiliser le thorme des accroissements finis : 8x 2 [a, b], 9 2 [a, b]tel que :

    f(x) = f(a) + (x a)f 0()

    En remplaant dans lexpression de lintgrale et de lerreur, on trouve :

    = I eI=

    Z ba

    (f(x) P0(x)) dx =Z ba

    (f(x) f(a)) dx

    =

    Z ba

    (x a)f 0()dx = f 0()Z ba0

    xdx

    =(b a)2

    2f 0() =

    h2

    2f 0()

    Lerreur nest pas connue car la valeur de 2 [a, b] reste indtermine. Cependant, on peut la majorerpar la plus grande valeur de la drive sur le domaine considr. Quelques remarques sur cette erreur :

    Cette mthode dintgration est exacte pour toutes les fonctions f constantes (dans ce cas 0 = 0puisque quelles vrifient f 0 = 0). Dans le cas plus gnral cette mthode est dautant plus prcise queles variations de f sont faibles (f 0 petit).

    Plus le domaine [a, b] est petit, plus lerreur est faible. Cette erreur dcroit en h2.

    35

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    5.1.3 Mthode du point milieu (p = 0)

    Cette mthode utilise galement le polynme constant pourapproximer la fonction f . Cependant, elle exploite mieux lessymtries du problme en choisissant la valeur milieu :

    P00(x) = f

    a+ b

    2

    = f0. (5.10)

    Lintgrale approche eI00 = R ba P0(x)dx se calcule alors trivia-lement et donne : eI00 = (b a)f0 (5.11)Il sagit de laire du rectangle. Cette mthode ncessite une unique valuation de la fonction f (en x0 =(a+ b)/2) et correspond donc aussi ce quon peut faire de plus rapide.

    Lerreur peut tre estime en utilisant les dveloppements en srie de Taylor, ou le thorme des accrois-sements finis. On trouve alors pour h = b a :

    9 2 [a, b] 00 = h3

    24f 00() c.a.d. |00 | h

    3

    24Sup[a,b] (|f 00|) (5.12)

    Dmonstration : Pour calculer lerreur, on peut utiliser le thorme des accroissements finis au deuxime ordre :8x 2 [a, b], 9 2 [a, b] tel que :

    f(x) = f

    a+ b2

    +

    x a+ b

    2

    f 0a+ b2

    +

    x a+ b

    2

    2 f 00()2

    En remplaant dans lexpression de lintgrale et de lerreur, on trouve :

    = I eI=

    Z ba

    (f(x) P0(x)) dx =Z ba

    f(x) f

    a+ b2

    dx

    =

    Z ba

    "x a+ b

    2

    f 0a+ b2

    +

    x a+ b

    2

    2 f 00()2

    #dx

    = f 0a+ b2

    Z ba2

    ba2xdx+

    f 00()2

    Z ba2

    ba2x2dx = 0 +

    f 00()3

    b a2

    3=

    h3

    3f 00()

    Lerreur nest pas connue car la valeur de 2 [a, b] reste indtermine. Cependant, on peut la majorerpar la plus grande valeur de la drive seconde sur le domaine considr. Quelques remarques sur cetteerreur :

    Du fait des symtries, cette mthode dintgration est exacte pour les fonctions f constante, mais aussipour les fonctions anes (dans ce cas 00 = 0 puisquelles vrifient f 00 = 0).

    Dans le cas plus gnral, cette mthode est dautant plus prcise que les variations de f sont faibles(f 00 petit).

    Plus le domaine [a, b] est petit, plus lerreur est faible. Cette erreur dcroit en h3, cest dire plus viteque lerreur de la mthode prcdente : 00/0 / h ! 0. Ainsi, pour des domaines [a, b] susammentpetits, la mthode du point milieu est toujours plus prcise que la mthode prcdente.

    36

  • CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE Universit Paul Sabatier 2014-2015

    5.1.4 Mthode du trapze (p = 1)

    Pour approximer la fonction f , cette mthode utilise le polynmedordre 1 (la droite) qui passe par f0 = f(a) et f1 = f(b) :

    P1(x) =f0 + f1

    2+f1 f0b a

    x a+ b

    2

    (5.13)

    Lintgrale approche eI1 = R ba P1(x)dx se calcule alors mathma-tiquement ou gomtriquement et donne :

    eI1 = (b a)f0 + f12

    (5.14)

    Il sagit de laire du trapze. Cette mthode ncessite deux valuations de la fonction f (en a et en b). Elleest donc en gros deux fois plus lente que les mthodes prcdentes.

    Lerreur peut tre estime en utilisant les dveloppements en srie de Taylor, ou le thorme des accrois-sements finis. On trouve alors 1 pour h = b a :

    9 2 [a, b] 1 = h3

    12f 00() c.a.d. |1| h

    3

    12Sup[a,b] (|f 00|) (5.15)

    Lerreur nest pas connue car la valeur de 2 [a, b] reste indtermine. Cependant, on peut la majorerpar la plus grande valeur de la drive seconde sur le domaine considr. Les remarques sur lerreur sont lesmmes que pour la mthode du point milieu. En prcision, cette mthode est donc quivalente celle dupoint milieu (1 00), mais elle est deux fois plus lente.

    5.1.5 Mthode de Simpson simple (p = 2)Pour approximer la fonction f , cette mthode utilise le polynme de degr 2 (la parabole) qui passe par

    les trois points f0 = f(a), f1 = fa+b2

    et f2 = f(b) :

    P2(x) = 2f2 2f1 + f0(x2 x0)2 (x x1)

    2 +f2 f0x2 x0 (x x1) + f1 (5.16)

    Lintgrale approche eI2 = R ba P2(x)dx se calcule alors simple-ment et donne :

    eI2 = (b a)f0 + 4f1 + f26

    (5.17)

    Cette mthode ncessite trois valuations de la fonction f (enx0 = a, x1 = (a + b)/2 et x2 = b). Elle est donc en gros 3 foisplus lente que les mthodes 1 point.Lerreur peut tre estime en utilisant les dveloppements en sriede Taylor, ou le thorme des accroissements finis.

    On trouve alors 2 pour h = (b a)/2 :

    9 2 [a, b] 2 = h5

    90f (4)() c.a.d. |2| h

    5

    90Sup[a,b]

    |f (4)|

    (5.18)

    1. En fait, le calcul commence tre un poil compliqu et est laiss la curiosit du lecteur.2. Cette dmonstration est aussi laisse au lecteur...

    37

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    Lerreur nest pas connue car la valeur de 2 [a, b] reste indtermine. Cependant, on peut la majorer parla plus grande valeur de la drive quatrime sur lintervalle considr. Quelques remarques sur cette erreur :

    Cette mthode dintgration est exacte pour les fonctions f polynomiales dordre 3 (car elles vrifientf (4) = 0), ce qui inclut en particulier les fonctions constantes, les fonctions anes, et les parabolespar exemple. Plus gnralement elle est dautant plus prcise que les variations de f sont faibles (f (4)petit).

    Plus lintervalle [a, b] est petit, plus lerreur est faible. Cette erreur dcroit en h5 lorsque h diminue,cest dire beaucoup plus rapidement que les mthodes prcdentes : 2/0 / h3 ! 0, 2/00 / 2/1 /h2 ! 0. Ainsi, pour des intervalles [a, b] susamment petits, la mthode de Simpson est toujours plusprcise que les mthodes prcdentes.

    5.1.6 Mthodes dordres plus levs

    Plus gnralement, on peut construire des approximations en utilisant des polynmes dordre quelconque.Le polynme dordre p passant par p+1 points rgulirement espacs entre a et b sexprime en fonction despolynmes de Lagrange Lk(x), k 2 [0, p] :

    Pp(x) =pX

    k=0

    fkLk(x) avec Lk(x) =pY

    j=0,j 6=k

    x xjxk xj (5.19)

    Lintgrale approche eI = R ba Pp(x)dx peut alors se calculer et donne :eI = (b a) pX

    k=0

    wkfk avec wk =

    R ba Lk(x)dx

    b a (5.20)

    Un telle mthode ncessite p+1 valuations de la fonction f (en xk, k 2 [0, p]). Ainsi, plus le degr est lev,plus la mthode est lente.

    Lerreur peut aussi se calculer (mais a devient franchement compliqu), et on peut montrer que :

    si p est impair : 9 2 [a, b] p = hp+2

    Cpf (p+1)() c.a.d. |p| h

    p+2

    CpSup[a,b]

    f (p+1)si p est pair : 9 2 [a, b] p = h

    p+3

    Cpf (p+2)() c.a.d. |p| h

    p+3

    CpSup[a,b]

    f (p+2)o Cp est un coecient qui dpend de lordre du polynme.

    Un telle mthode est exacte pour les polynmes de degr p, car ceux-ci vrifient f (p+1) = 0 (et mmeen fait pour des polynmes de degr p + 1 si p est pair). Sinon, elle est dautant plus prcise que lafonction varie peu sur le domaine [a, b].

    Plus le domaine [a, b] est petit, plus lerreur est faible. Cette erreur dcroit en hp+2 lorsque h diminue(et hp+3 si p est pair), cest dire beaucoup plus rapidement que les mthodes utilisant des polynmesde degr plus faible.

    On trouve ainsi parfois rfrence aux mthodes suivantes :

    38

  • CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE Universit Paul Sabatier 2014-2015

    Mthode de Simpson 3/8 (degr p = 3) :

    eI = (b a)f0 + 3f1 + 3f2 + f38

    = 380h5f (4)()

    - Mthode de Boole (degr p = 4) :

    eI = (b a)7f0 + 12f1 + 32f2 + 12f3 + 7f490

    = 8945

    h7f (6)()

    En pratique cependant, les coecients deviennent de plus en plus grands lorsque lordre du polynmeaugmente. De plus, partir du degr p = 7, certains coecients deviennent ngatifs, ce qui ce traduit pardes polynmes fortement oscillants. Les dirences entre des grands nombres posent des problmes darrondimachine qui rendent trs vite ces mthodes inutilisables. Elles ne sont donc jamais utilises pour p > 7.

    5.1.7 Bilan

    Plus les mthodes de Newton-Cotes simples sont bases sur des polynmes de degr lev, plus ellessont lentes et plus elles sont diciles coder, mais plus elles sont prcises. Le plus souvent en pratique, ledomaine total dintgration [a, b] est beaucoup trop grand et la fonction varie trop sur ce domaine pour queces mthodes donnent des rsultats satisfaisants. Elles ne sont donc quasiment jamais utilises en tant quetelles.

    On subdivise donc le domaine total [a, b] en un grand nombre de petits intervalles sur chacun desquels onpeut appliquer avec succs les mthodes de Newton-Cotes simples. On parle alors de mthode de Newton-Cotes composites.

    5.2 Lois de Newton-Cotes composites

    5.2.1 Principe

    Lide est donc de dcouper le domaine total dintgration [a, b] en m intervalles. On approxime alorslaire eIk, k 2 [0,m 1] de chaque intervalle par des mthodes de Newton-Cotes simples, et on en dduit une

    39

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    approximation de laire totale par une simple somme :

    eI = m1Xk=0

    eIk (5.21)Lorsque m est susamment grand, la largeur (b a)/m des intervalles devient aussi petite que lon veut,si bien que ces mthodes peuvent atteindre des prcisions aussi grandes que ncessaire, sans pour autant seheurter au problme des polynmes de grand degr.

    En utilisant sur chaque intervalle des mthodes de Newton-Cotes simples de degrs dirents, on obtientdes mthodes composites aux proprits et aux performances direntes. Sur chaque intervalle, une mthodede degr p+1 value la fonction intgrer en p+1 points, ce qui revient le subdiviser en p sous-intervalles.Si on applique ce principe m intervalles contigus, la mthode de Newton-Cotes composite dfinit n = mpsous-intervalles au total 3 et ncessite lvaluation de n+1 points. Plus ce nombre est lev, plus la mthodeest lente mais, en gnral, plus elle est prcise. Les comparaisons de mthodes de dirents degrs se ferontdonc nombre total de points n commun, cest dire rapidit quivalente. Les mthodes les plus prcisesseront les plus performantes.

    Dans certains cas, ces m intervalles peuvent tre espacs de manire non rgulire pour mieux reprsenterune zone ou la fonction f(x) varie beaucoup, mais dans cette partie, nous nous limiterons au cas dintervallesrguliers.

    5.2.2 Mthode des rectangles (p = 0, n = m)La mthode des rectangles composite applique la mthode des rectangles simple (p = 0) sur chacun des

    m intervalles. Le nombre total de sous-intervalles est donc n = m. Laire de chaque intervalle vaut :

    eI0,k = (xk+1 xk)fk = hfk (5.22)Si bien que lintgrale totale vaut :

    eI0 = h (f0 + f1 + ...+ fn1 + 0 fn)= h

    n1Xk=0

    fk(5.23)

    Dans cette formule, tous les points ont le mme coecient (1), sauf le dernier point fn qui nest pas utilis(coecient 0).

    Lerreur est simplement la somme de toutes les erreurs :

    0 =n1Xk=0

    0,k =h2

    2

    n1Xk=0

    f 0(k)

    =h2

    2nf 0()

    |0| (b a)2

    2nSup[a,b] (|f 0|)

    o lon a utilis le fait que h = (b a)/n pour la dernire ingalit. A nouveau, cette mthode est exactepour les fonctions constantes. Plus gnralement, elle est dautant plus prcise que le nombre de points est

    3. pour le cas particulier des mthode dordre 0 (p = 0), on a n = m.

    40

  • CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE Universit Paul Sabatier 2014-2015

    Figure 5.1 Mthode composite des rectangles (p = 0) pour m = 6 intervalles (cest dire n = 6 sous-intervalles et n+ 1 = 7 points au total).

    grand :

    0 = O

    1

    n

    = O(h) (5.24)

    Lerreur dcroit comme 1/n. La mthode des rectangles est une mthode dordre 1.

    5.2.3 Mthode des trapzes (p = 1, n = m)

    La mthode des trapzes composite applique la mthode des trapzes simple (p = 1) sur chacun des mintervalles. Le nombre total de sous-intervalles est donc nouveau n = m. Chaque intgrale vaut :

    eI1,k = (xk+1 xk)fk + fk+12

    (5.25)

    Si bien que lintgrale totale vaut :

    eI1 = hf0 + 2f1 + ...+ 2fn1 + fn2

    = h

    f02

    +n1Xk=1

    fk +fn2

    ! (5.26)

    Dans cette formule, les points du bord du domaine ont des coecients dirents (1/2) de tous le pointsintrieurs (1).

    41

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    Figure 5.2 Mthode composite des trapzes (p = 1), pour m = 6 intervalles (cest dire n = 6 sous-intervalles et n+ 1 = 7 points au total).

    Lerreur est simplement la somme de toutes les erreurs :

    1 = 1,0/2 +n1Xk=1

    1,k + 1,n/2 = h3

    12

    f 00(0)/2 +

    n1Xk=1

    f 00(k) + f 00(n)/2

    !

    = h3

    12nf 00()

    |1| (b a)3

    12n2Sup[a,b] (|f 00|)

    o lo a utilis le fait que h = (b a)/n. A nouveau, cette mthode est exacte pour les fonctions constanteset anes (et mme les paraboles en fait). Plus gnralement, elle est dautant plus prcise que le nombre depoints est grand :

    1 = O

    1

    n2

    = O(h2) (5.27)

    Lerreur dcroit comme 1/n2. La mthode des trapzes est une mthode dordre 2.

    5.2.4 Mthode de Simpson (p = 2, n = 2m)

    La mthode de Simpson composite applique la mthode de Simpson simple (p = 2) sur chacun des mintervalles. Le nombre total de sous-intervalles est donc cette fois-ci n = 2m (il est forcment pair et lenombre de points n+ 1 est forcment impair !). Chaque intgrale vaut :

    eI2,k = (xk+2 xk)fk + 4fk+1 + fk+26

    (5.28)

    42

  • CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE Universit Paul Sabatier 2014-2015

    Si bien que (pour un nombre dintervalles n pair) lintgrale totale vaut :

    eI2 = hf0 + 4f1 + 2f2 + 4f3 + ...+ 2fn2 + 4fn1 + fn3

    =h

    3

    0@f0 + 4 n/21Xk=0

    f2k+1 + 2

    n/21Xk=1

    f2k + fn

    1A (5.29)

    Dans ces formules, il y a 3 coecients dirents : 1/3 pour les points du bord, 4/3 pour le points internesimpairs, et 2/3 pour les points internes pairs.

    Figure 5.3 Mthode composite de Simpson (p = 2) pour m = 3 intervalles (cest dire n = 6 sous-intervalles et n+ 1 = 7 points au total).

    nouveau, lerreur est simplement la somme de toutes les erreurs :

    2 = ...

    = h5

    90mf (4)()

    |2| (b a)5

    180n4Sup[a,b]

    |f (4)|

    o lon a utilis le fait que h = (b a)/n et n = 2m. Plus le nombre de points est grand, plus la mthodeest prcise :

    2 = O

    1

    n4

    = O

    h4

    (5.30)

    Lerreur dcroit comme 1/n4. La mthode de Simpson est une mthode dordre 4.

    5.2.5 GnralitesBien videmment, on peut construire des mthodes composites dordres plus levs.

    43

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    Les mthodes utilisant des polynmes de degr plus lev (tout en restant

  • CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE Universit Paul Sabatier 2014-2015

    5.3 Exercices Dfinir en C une fonction simple intgrer sur un intervalle [a, b], par exemple f(x) = sinx sur [0,/2],f(x) = ex sur [0, 1] , ou autre (choisir une fonction dont on connait la valeur exacte de lintgrale).

    En utilisant la mthode des rectangles et un nombre dintervalles n donns, intgrer numriquementcette fonction par la mthode des rectangles. Essayer plusieurs valeurs de n et observer lvolution delerreur mesure.

    Intgrer cette mme fonction avec les mthodes des trapzes et de Simpson (on pourra par exempledfinir une fonction pour chaque mthode). Observer qualitativement lvolution de lerreur mesurepour les direntes mthodes.

    Raliser une boucle et enregistrer dans un fichier lerreur des trois mthodes pour toutes les valeurs dunombre dintervalles n entre 1 et 108 (on pourra multiplier n par 2 chaque itration pour limiter letemps de calcul et la taille du fichier). Visualiser le rsultat en chelle log-log avec gnuplot.

    Aprs avoir calcul analytiquement le maximum thorique des drives successives de f sur lintervalleconsidr, tracer galement la majoration thorique de lerreur pour ces trois mthodes. Commenter

    Recommencer avec f(x) = sinx sur lintervalle [0,], ou encore f(x) = sin2 x sur lintervalle [,].Idem pour f(x) =

    px sur [0, 1]. Interprter...

    Intgrer la fonction f avec la mthode de Gauss (voir section suivante) et comparer lerreur celle desmthodes de Newton-Cotes composites.

    45

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    5.4 Mthode de Gauss-Legendre

    5.4.1 PrincipeNous avons vu que les mthodes de Newton-Cotes simples pouvaient scrire eI = (ba)Pnk=0 wkfk o la

    fonction f(x) est value en n+ 1 points xk, k 2 [0, n]. Avec ces mthodes, les points taient rgulirementespacs sur le domaine et on approximait la fonction f(x) pour un polynme de degr n qui concidait avecf en ces n+ 1 points.

    Lide de la quadrature de Gauss-Legendre est de gnraliser cette mthode pour des points espacs demanire non-rgulire sur lintervalle dintgration. Si on ne fixe pas a priori les positions des n+1 points,cela laisse n + 1 degrs de liberts supplmentaires et on peut peut choisir les positions de ces points demanire obtenir une mthode optimale.

    Quelle que soit la position des n + 1 points, la mthode qui consiste calculer lintgrale du polynmede degr n passant par ces points est exacte pour tous les polynmes de degr d n. On peut donc utiliserles n+ 1 degrs de libert qui correspondent la position des points et calculer leur positions de manire ce que la valeur de lintgrale soit exacte galement pour tous les polynmes de n+ 1 degrs de plus, cest dire pour tous les polynme de degr d 2n+ 1 4. Lerreur de cette mthode est alors beaucoup plus petiteque celle des mthodes de Newton-Cotes simples utilisant le mme nombre de points.

    Afin de trouver lexpression des mthodes de Gauss pour dirents nombres de points, on cherche dterminer les positions des xk et les coecients wk associs de manire ce que cette mthode soit exactepour les polynmes 1, x, x2, ... et x2n+1.

    Le plus souvent, la mthode de Gauss-Legendre est prsente sur un intervalle [1, 1]. Une intgrationsur un intervalle plus gnral [a, b] peut nanmoins sobtenir par le changement de variable : x! a+b2 + ba2 x.

    5.4.2 Mthode 1 point (n = 0) lordre le plus bas (n + 1 = 1 point), on cherche la position de lunique point x0 ainsi que lunique

    coecient associ w0 de manire ce que la mthode soit exacte pour tous les polynmes de degr 2n+1 = 1.En loccurrence, il faut ici quelle soit exacte pour les polynmes P0 = 1 et P1 = x.

    Pour le polynme constant : P0 = 1, lintgrale exacte est I0 =R 11 1 dx = 2. Et lintgrale par

    quadrature scrit : eI = 2 0Xk=0

    wkP0(xk) = 20X

    k=0

    wk1 = 2w0 (5.31)

    si bien que eI = I donne directement : w0 = 1. Pour le polynme de degr 1 : P1 = x, lintgrale exacte est I1 =

    R 11 x dx = 0. Et lintgrale par

    quadrature scrit : eI1 = 2 0Xk=0

    wkP1(xk) = 20X

    k=0

    wkxk = 2w0x0 (5.32)

    si bien que eI = I donne directement : w0x0 = 0, soit x0 = 0.Lunique point de quadrature correspond au point milieu eteI0 = 2f(0) (5.33)La mthode de Gauss-Legendre un point correspond en fait la mthode du point milieu (Newton-Cotes).

    4. Cela revient dire que lintgrale de tous les polynmes de degr n 2n+1 qui concident avec f(x) aux n+1 points decette quadrature possdent la mme intgrale. Lintgrale du polynme de degr n tant exacte, elle lest aussi pour tous cesautres polynmes de degr plus lev.

    46

  • CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE Universit Paul Sabatier 2014-2015

    5.4.3 Mthode 2 points (n = 1) lordre suivant (n + 1 = 2 points), on cherche la position des deux points x0 et x1 ainsi que les deux

    coecients associs w0 et w1 de manire ce que la mthode soit exacte pour tous les polynmes de degr2n + 1 = 3. En loccurrence, il faut ici quelle soit exacte pour les polynmes P0 = 1, P1 = x, P1 = x2 etP1 = x3.

    Pour le polynme constant : P0 = 1, lintgrale exacte est I0 =R 11 1 dx = 2. Et lintgrale par

    quadrature scrit : eI = 2 1Xk=0

    wkP0(xk) = 21X

    k=0

    wk1 = 2(w0 + w1) (5.34)

    si bien que eI = I donne : w0 + w1 = 1. Pour le polynme de degr 1 : P1 = x, lintgrale exacte est I1 =

    R 11 x dx = 0. Et lintgrale par

    quadrature scrit : eI = 2 1Xk=0

    wkP1(xk) = 21X

    k=0

    wkxk = 2(w0x0 + w1x1) (5.35)

    si bien que eI = I donne : w0x0 + w1x1 = 0. Pour le polynme de degr 2 : P2 = x2, lintgrale exacte est I2 =

    R 11 x

    2 dx = 2/3 Et lintgrale parquadrature scrit : eI = 2 1X

    k=0

    wkP2(xk) = 21X

    k=0

    wkx2k = 2(w0x

    20 + w1x

    21) (5.36)

    si bien que eI = I donne : w0x20 + w1x21 = 1/3. Pour le polynme de degr 3 : P3 = x3, lintgrale exacte est I3 =

    R 11 x

    3 dx = 0. Et lintgrale parquadrature scrit : eI = 2 1X

    k=0

    wkP3(xk) = 21X

    k=0

    wkx3k = 2(w0x

    30 + w1x

    31) (5.37)

    si bien que eI = I donne : w0x30 + w1x31 = 0.Un peu de travail pour rsoudre ce systme donne finalement :

    w0 = w1 = 1/2, x0 = 1/p3, x1 = +1/

    p3 (5.38)

    La mthode de Gauss deux points scrit donc :eI = f(1/p3) + f(1/p3) (5.39)5.4.4 GnralisationPrincipe

    Cette mthode peut tre applique un nombre de points n + 1 quelconque. On peut alors montrerquune bonne approximation de lintgrale calculer est :

    eI = 2 nXk=0

    wkfk (5.40)

    o :

    47

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    Figure 5.5 Polynmes de Legendre Pn de degrs n = 1 6 et leurs racines.

    les positions xk des points de quadrature sont les racines du polynme de Legendre Pn+1 de degrn+ 1. Les polynmes de Legendre peuvent se calculer par rcurrence avec la relation (voir Fig. 5.5) :

    P0 = 1P1 = xPn = (2n 1)xPn1(x) (n 1)Pn2(x)

    n

    Leurs racines nont pas toujours dexpression analytique, et le plus souvent, elles doivent tre calculesnumriquement.

    Les n+ 1 coecients associs aux points de quadrature valent respectivement :

    8k 2 [0, n] wk = 1(1 x2k)P 0n+1(xk)2

    =(1 x2k)

    (n+ 1)2P2n(xk)(5.41)

    On peut montrer que 8n > 0, Pnk=0 wk = 1.On trouve facilement ces valeurs dans des livres ou sur internet. Quelques exemples sont donns dans la table5.1.

    Integrale sur un intervalle quelconque

    Dans le cas o lintgrale nest pas calcule sur [1, 1], mais sur un domaine quelconque [a, b], alors lamthode est la mme avec : eI = (b a) nX

    k=0

    wkfk (5.42)

    o les poids wk sont les mmes que prcdemment et la fonction f est value aux points de quadraturesuivants : fk = f

    a+b2 +

    ba2 xk

    (o les xk sont les points de quadrature racines des polynmes de Legendre

    calculs sur [1, 1]).

    48

  • CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE Universit Paul Sabatier 2014-2015

    n+ 1 2wk xk1 2 02 1, 1 1/p3, 1/p33 5/9, 8/9, 5/9 p3/5, 0, p3/54 18

    p30

    36 ,18+

    p30

    36 , q

    (3 + 2p

    6/5)/7, q

    (3 2p6/5)/7,18+

    p30

    36 ,18p30

    36

    q(3 2p6/5)/7, q(3 + 2p6/5)/7

    5 32213p70

    900 ,322+13

    p70

    900 ,128255 , 13

    q5 + 2

    p10/7, 13

    q5 2p10/7, 0,

    322+13p70

    900 ,32213p70

    90013

    q5 2p10/7, 13q5 + 2p10/7

    ... .... ...

    Table 5.1 Position xk et coecients wk est points associs pour la mthode de Gauss-Legendre n + 1points : eI = 2Pnk=0 wkf(xk).Erreur

    Contrairement aux mthodes de Newton-Cotes qui dcroissent en 1/nd+1 ou 1/nd+2 (o n + 1 est lenombre de points o f(x) est value et d le degr du polynme utilis), les mthodes de Gauss dcroissentexponentiellement avec d, ce qui savre extrmement rapide. De plus, on peut montrer que les coecientswk sont toujours positifs, si bien quil ny a aucune soustraction de grands nombres comme il peut y avoirpour les mthodes de Newton-Cotes de degr d > 8. Les mthodes de Gauss peuvent donc tre utilises avecun nombre de points arbitrairement grand. Nanmoins, la mise en place de ces mthodes est beaucoup pluscomplexe et il nest pas facile de changer le nombre de points une fois le programme crit. En gnral, unnombre de points de 4 6 est largement susant pour la plupart des applications.

    49

  • Universit Paul Sabatier 2014-2015 CHAPITRE 5. MTHODES DINTGRATION NUMRIQUE

    Figure 5.6 Erreur de la mthode de Gauss en fonction du nombre de utiliss pour intgrer fonctionf(x) = sinx sur lintervalle [0,/2]. Les erreurs de quelques mthodes de Newton-Cotes composites sontrappeles pour comparaison. La droite en pointills tout en bas correspond aux erreurs darrondi machine.

    50