ATLAS Ouvrir dans l'atlas →

ExerciceMaths Sup – MPSI, chapitre 18 — Intégration · Exercices de synthèse

Exercice 49

AlgorithmiqueDémonstrationCalcul

Une récurrence instable. Pour tout n∈ℕn \in \mathbb{N}, on pose In=∫01ex(1−x)n dx\displaystyle I_{n} = \int_{0}^{1} \mathrm{e}^{x}(1 - x)^{n}\,\mathrm{d} x.

1. Calculer I0I_{0}, et montrer que In+1=(n+1)In−1I_{n+1} = (n + 1)I_{n} - 1 pour tout n∈ℕn \in \mathbb{N}.

2. Écrire une fonction Python I(n) qui calcule InI_{n} à l'aide de cette relation, en partant de la valeur math.e - 1. Afficher les valeurs obtenues pour nn allant de 00 à 2525 : que semble faire la suite ?

3. Montrer que la suite (In)(I_{n}) est décroissante et convergente, et préciser sa limite.

4. Soit α\alpha un réel. On définit la suite (Jn)(J_{n}) par J0=αJ_{0} = \alpha et Jn+1=(n+1)Jn−1J_{n+1} = (n + 1)J_{n} - 1. Montrer que Jn+1−In+1=(n+1)(Jn−In)J_{n+1} - I_{n+1} = (n + 1)(J_{n} - I_{n}) pour tout nn, et exprimer Jn−InJ_{n} - I_{n} en fonction de nn et de α\alpha.

5. En déduire le comportement de (Jn)(J_{n}) selon la valeur de α\alpha, et expliquer l'observation de la deuxième question.

Corrigé

1. On a I0=∫01ex dxI_{0} = \int_{0}^{1} \mathrm{e}^{x}\,\mathrm{d} x, soit I0=e−1\boxed{I_{0} = \mathrm{e} - 1}. Pour la relation, on intègre par parties : c'est la technique naturelle, puisque le facteur polynomial (1−x)n+1(1 - x)^{n+1} perd un degré quand on le dérive, et que ex\mathrm{e}^{x} est sa propre primitive. On dérive (1−x)n+1(1 - x)^{n+1} en −(n+1)(1−x)n-(n + 1)(1 - x)^{n} : In+1=[ex(1−x)n+1]01+(n+1)∫01ex(1−x)n dx=(0−1)+(n+1)In.I_{n+1} = \big[\mathrm{e}^{x}(1 - x)^{n+1}\big]_{0}^{1} + (n + 1)\int_{0}^{1} \mathrm{e}^{x}(1 - x)^{n}\,\mathrm{d} x = (0 - 1) + (n + 1)I_{n}.

In+1=(n+1) In−1\boxed{I_{n+1} = (n + 1)\,I_{n} - 1} En particulier I1=e−2I_{1} = \mathrm{e} - 2.

2. Voici une fonction possible, qui applique la relation nn fois à partir de I0I_{0}.

import math

def I(n):
    v = math.e - 1              # valeur flottante de I_0
    for k in range(n):          # passage de I_k a I_(k+1)
        v = (k + 1) * v - 1
    return v

for n in range(26):
    print(n, I(n))

Le tableau compare quelques valeurs affichées aux valeurs exactes, calculées en précision étendue.

4pt

nn00551010151516161717181820202525
\texttt{I(n)}1,718 281{,}718\,280,193 820{,}193\,820,099 110{,}099\,110,066 200{,}066\,200,059 250{,}059\,250,007 210{,}007\,21−0,870-0{,}870−351,7-351{,}7−2,24×109-2{,}24 \times 10^{9}
InI_{n}1,718 281{,}718\,280,193 820{,}193\,820,099 110{,}099\,110,066 390{,}066\,390,062 270{,}062\,270,058 630{,}058\,630,055 390{,}055\,390,049 880{,}049\,880,039 940{,}039\,94

La suite semble d'abord décroître vers 00, puis, vers n=17n = 17, elle devient brutalement négative et part vers −∞-\infty : à n=25n = 25, elle vaut environ −2,24×109-2{,}24 \times 10^{9}. les valeurs calculeˊes deˊcroissent jusqu’aˋ n≈16, puis divergent vers −∞\boxed{\text{les valeurs calculées décroissent jusqu'à } n \approx 16, \text{ puis divergent vers } -\infty}

3. Pour x∈[0 ,1]x \in [0\,,1], on a 0⩽(1−x)n+1⩽(1−x)n0 \leqslant (1 - x)^{n+1} \leqslant (1 - x)^{n}, d'où In+1⩽InI_{n+1} \leqslant I_{n} par croissance de l'intégrale. De plus 1⩽ex⩽e1 \leqslant \mathrm{e}^{x} \leqslant \mathrm{e}, donc 0<1n+1=∫01(1−x)n dx⩽In⩽e∫01(1−x)n dx=en+1.0 < \frac{1}{n + 1} = \int_{0}^{1} (1 - x)^{n}\,\mathrm{d} x \leqslant I_{n} \leqslant \mathrm{e}\int_{0}^{1} (1 - x)^{n}\,\mathrm{d} x = \frac{\mathrm{e}}{n + 1}.

(In) est deˊcroissante, 1n+1⩽In⩽en+1, et lim⁡n→+∞In=0\boxed{(I_{n}) \text{ est décroissante, } \frac{1}{n + 1} \leqslant I_{n} \leqslant \frac{\mathrm{e}}{n + 1}, \text{ et } \lim\limits_{n \to +\infty} I_{n} = 0} En particulier In>0I_{n} > 0 pour tout nn : les valeurs négatives affichées à la question 2 sont fausses.

4. En soustrayant les relations Jn+1=(n+1)Jn−1J_{n+1} = (n + 1)J_{n} - 1 et In+1=(n+1)In−1I_{n+1} = (n + 1)I_{n} - 1, le terme constant disparaît : Jn+1−In+1=(n+1)(Jn−In).J_{n+1} - I_{n+1} = (n + 1)(J_{n} - I_{n}). Par récurrence immédiate, à partir de J0−I0=α−(e−1)J_{0} - I_{0} = \alpha - (\mathrm{e} - 1), Jn−In=n! (α−(e−1))\boxed{J_{n} - I_{n} = n!\,\big(\alpha - (\mathrm{e} - 1)\big)}

5. Comme In→0I_{n} \to 0 et n!→+∞n! \to +\infty, la question 4 donne : α=e−1: Jn=In→0;α>e−1: Jn→+∞;α<e−1: Jn→−∞\boxed{\alpha = \mathrm{e} - 1 : \ J_{n} = I_{n} \to 0 ; \quad \alpha > \mathrm{e} - 1 : \ J_{n} \to +\infty ; \quad \alpha < \mathrm{e} - 1 : \ J_{n} \to -\infty} L'ordinateur ne connaît pas e−1\mathrm{e} - 1, mais seulement un nombre flottant voisin α\alpha, avec ici α−(e−1)≈−1,45×10−16.\alpha - (\mathrm{e} - 1) \approx -1{,}45 \times 10^{-16}. La fonction I calcule donc JnJ_{n}, et non InI_{n} : l'erreur initiale est multipliée par n!n!. On calcule 18!×(−1,45×10−16)≈−0,93et25!×(−1,45×10−16)≈−2,24×109:18! \times (-1{,}45 \times 10^{-16}) \approx -0{,}93 \qquad\text{et}\qquad 25! \times (-1{,}45 \times 10^{-16}) \approx -2{,}24 \times 10^{9} : le signe change donc vers n=18n = 18, et la valeur affichée pour n=25n = 25 est exactement celle de l'erreur. Les erreurs d'arrondi commises à chaque étape s'ajoutent, mais elles sont multipliées par des facteurs plus petits, et c'est l'erreur initiale qui domine.

À retenir. Une relation de récurrence exacte peut être inutilisable numériquement : il faut regarder comment elle propage les erreurs. Ici, il suffit de la parcourir à l'envers, In=In+1+1n+1I_{n} = \frac{I_{n+1} + 1}{n + 1}, ce qui divise l'erreur par n+1n + 1 à chaque étape : en partant de la valeur grossière I60≈0I_{60} \approx 0, on obtient I25I_{25} avec toutes ses décimales, 0,039 938 729 673…0{,}039\,938\,729\,673\ldots C'est l'encadrement de la question 3 qui garantit la limite que l'ordinateur ne voyait pas.

Dans l'édifice

Thèmes

intégrales, suites d'intégrales, logarithme et exponentielle

Ouvrir dans l'atlas interactif →