On considère la fonction f définie et dérivable sur \mathbb{R} par f(x) = x^3 - 2x - 5.
Le but de cet exercice est de donner une approximation de la solution de l'équation f(x)=0.
Quelle est l'expression de la dérivée f' de f sur \mathbb{R} ?
\forall x \in \mathbb{R}, f(x) = x^3 - 2x - 5
On a donc :
\forall x \in \mathbb{R}, f'(x) = 3x^2 - 2
Quel est le tableau de variations de f ?
Il faut d'abord étudier le signe de f'.
On a :
\forall x \in \mathbb{R}, f'(x) = 3x^2 - 2
On cherche à résoudre :
f'(x) = 0\\\Leftrightarrow 3x^2 - 2 = 0\\\Leftrightarrow x^2 = \dfrac{2}{3}\\\Leftrightarrow \begin{cases} x_1 = -\sqrt{\dfrac{2}{3}} \cr \cr x_2=\sqrt{\dfrac{2}{3}} \end{cases}
f' étant un polynôme du second degré, il est du signe de a à l'extérieur de ses racines et du signe de -a entre ses racines.
Avec la calculatrice, on calcule maintenant f(x_1) et f(x_2) :
f(x_1) = f(-\sqrt{\dfrac{2}{3}}) \approx -3{,}911
f(x_2) = f(\sqrt{\dfrac{2}{3}}) \approx -6{,}089
On calcule ensuite les limites de f.
On a :
\forall x \in \mathbb{R}, f(x) = x^3 - 2x - 5\\\Leftrightarrow \forall x \in \mathbb{R}, f(x) = x(x^2 - 2) - 5\\
\lim\limits_{x \to +\infty} x = +\infty\\\lim\limits_{x \to +\infty} (x^2 -2) = +\infty\\
D'où :
\lim\limits_{x \to +\infty}(x(x^2-2)-5) = +\infty
De plus :
\lim\limits_{x \to -\infty} x = -\infty\\\lim\limits_{x \to -\infty} (x^2 -2) = +\infty\\
D'où :
\lim\limits_{x \to -\infty}(x(x^2-2)-5) = -\infty
Le tableau de variations de f est donc le suivant :

Combien de solutions l'équation f(x)=0 admet-elle sur \mathbb{R} ?
D'après le tableau de variations de f, on remarque que f est strictement négative sur \left] -\infty ; \sqrt{\dfrac{2}{3}} \right]. L'équation f(x)=0 n'admet donc aucune solution sur \left] -\infty ; \sqrt{\dfrac{2}{3}} \right].
Sur \left[ \sqrt{\dfrac{2}{3}} ; +\infty \right[, f est strictement croissante, et f(\sqrt{\dfrac{2}{3}}) \approx -6{,}911 et \lim\limits_{x \to +\infty} f(x) = +\infty.
D'après le théorème des valeurs intermédiaires, il existe donc un unique réel \alpha tel que f(\alpha)=0s.
L'équation f(x)=0 admet donc une unique solution sur \mathbb{R}.
\alpha est-il contenu dans l'intervalle \left[ 2;3 \right] ?
On calcule f(2) et f(3) :
f(2) = 2^3 - 2\times 2 - 5 = 8-4-5 = -1
f(3) = 3^3 - 2 \times 3 - 5 = 27 - 6 - 5 = 16
0 étant compris entre -1 et 16, d'après le théorème des valeurs intermédiaires, il existe un unique réel \alpha \in \left[ 2 ; 3 \right] tel que f(\alpha)=0.
\alpha est donc bien contenu dans l'intervalle \left[ 2;3 \right].
On introduit la suite (x_n) définie de la manière suivante :
On part d'un x_0 proche de \alpha et on construit la tangente à la courbe de f en x_0. On obtient x_1 le point d'intersection entre la tangente et l'axe des abscisses, et ainsi de suite.
En prenant x_0 = 2, quelle est l'expression par récurrence de la suite (x_n) ?
Pour tout n\in \mathbb{N}, l'équation de la tangente à la courbe de f en x_n est :
y = f'(x_n)(x-x_n) + f(x_n)
On cherche le point d'intersection entre cette tangente et l'axe des abscisses, ce qui revient à l'équation :
y = 0\\\Leftrightarrow f'(x_n)(x-x_n) + f(x_n) = 0\\\Leftrightarrow (x-x_n) = - \dfrac{f(x_n)}{ f'(x_n)}\\\Leftrightarrow x = - \dfrac{f(x_n)}{ f'(x_n)} + x_n
On a donc la relation de récurrence suivante :
\forall n \in \mathbb{N}, x_{n+1} = - \dfrac{f(x_n)}{ f'(x_n)} + x_n
On souhaite écrire un algorithme qui donnera une approximation de \alpha.
Pour cela, il faut créer une boucle qui continuera à calculer x_{n+1} tant que l'écart entre x_n et x_{n+1} est supérieur à 10^{-p} avec p=15.
Quelle est la bonne écriture de l'algorithme ?
Tout d'abord on doit donner un nom au programme et introduire les variables suivantes : X qui représente la valeur de la suite et qui démarre à 0, et p un réel.
On doit écrire une boucle qui continue à calculer x_{n+1} tant que la différence entre x_{n+1} et x_{n+1} est supérieure à 10^{-p} avec p=15.
Or, on a la formule par récurrence de la suite (x_n) :
\forall n \in \mathbb{N}, x_{n+1} = - \dfrac{f(x_n)}{ f'(x_n)} + x_n
On remarque que la différence est \left| \dfrac{f(x_n)}{f'(x_n)} \right|.
L'algorithme doit arrêter la boucle lorsque la différence est supérieure à 10^{-p} et afficher la dernière valeur de la suite calculée.
On peut donc écrire l'algorithme suivant :
: PROGRAM: NEWTON (X, i, p)
: 2 → X
: 15 → p
: while abs((X^3-2*X-5)/(3*X^2-2)) > 10^{-p}
: X - ((X^3-2*X-5)/(3*X^2-2)) → X
: end
: Disp X