Section 4.3 Exercices
Exercice 4.3.1.
La fonction \(f(x)=x^2-3\) admet un unique zéro \(c\) dans l'intervalle \([1;2]\text{.}\)
Effectuez trois itérations de la méthode de la bissection. Quel intervalle d'encadrement obtenez-vous?
- Itération 1 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=1 & m=1{,}5 & b=2\\ f(a)=-2 & f(m)=-0{,}75 & f(b)=1 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]1{,}5;2[. \end{equation*}
- Itération 2 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=1{,}5 & m=1{,}75 & b=2 \\ f(a)=-0{,}75 & f(m)=0{,}062\,5 & f(b)=1 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]1{,}5;1{,}75[. \end{equation*}
- Itération 3 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=1{,}5 & m=1{,}625 & b=1{,}75 \\ f(a)=-0{,}75 & f(m)=-0{,}359\,375 & f(b)=0{,}062\,5 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]1{,}625;1{,}75[. \end{equation*}
Remarque : \(c=\sqrt{3}\approx 1,732\text{.}\)
Exercice 4.3.2.
La fonction \(f(x)=e^x-2\) admet un unique zéro dans l'intervalle \([0;1]\text{.}\)
Effectuez quatre itérations de la méthode de la bissection. Quel intervalle d'encadrement obtenez-vous?
- Itération 1 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=0 & m=0{,}5 & b=1\\ f(a)=-1 & f(m)\approx-0{,}351 & f(b)\approx 0{,}718 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]0{,}5;1[. \end{equation*}
- Itération 2 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=0{,}5 & m=0{,}75 & b=1\\ f(a)\approx-0{,}351 & f(m)\approx 0{,}117 & f(b)\approx 0{,}718 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]0{,}5;0{,}75[. \end{equation*}
- Itération 3 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=0{,}5 & m=0{,}625 & b=0{,}75 \\ f(a)\approx-0{,}351 & f(m)\approx -0{,}132 & f(b)\approx 0{,}117 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]0{,}625;0{,}75[. \end{equation*}
- Itération 4 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=0{,}625 & m=0{,}687\,5 & b=0{,}75 \\ f(a)\approx -0{,}132 & f(m)\approx -0{,}011 & f(b)\approx 0{,}117 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]0{,}687\,5;0{,}75[. \end{equation*}
Remarque : \(c=\ln(2)\approx 0{,}693\text{.}\)
Exercice 4.3.3.
Soit \(f(x)=4\sin(x)\cos(x)+1\text{.}\)
Effectuez trois itérations de la méthode de la bissection en partant de l'intervalle \([a;b]=[1;2]\text{.}\) Quel intervalle d'encadrement obtenez-vous?
- Itération 1 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=1 & m=1{,}5 & b=2\\ f(a)\approx 2{,}8 & f(m)\approx 1{,}3 & f(b)\approx -0{,}5 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]1{,}5;2[. \end{equation*}
- Itération 2 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=1{,}5 & m=1{,}75 & b=2\\ f(a)=1{,}3 & f(m)\approx 0{,}3 & f(b)\approx -0{,}5 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]1{,}75;2[. \end{equation*}
- Itération 3 :\begin{equation*} \begin{array}{ c<{{}} c >{{}}c } a=1{,}75 & m=1{,}875 & b=2\\ f(a)\approx 0{,}3 & f(m)\approx -0{,}1 & f(b)\approx -0{,}5 \end{array} \end{equation*}\begin{equation*} \text{d'où}\quad c\in\;]1{,}75;1{,}875[. \end{equation*}
Remarque : \(\displaystyle c=\frac{7\pi}{12}\approx 1{,}83\text{.}\)
Exercice 4.3.4.
Pour chacun des exercices 4.3.1, 4.3.2 et 4.3.3, utilisez le code fourni à la section 4.2 afin de donner une valeur arrondie à cinq décimales du zéro \(c\) considéré.
Pour les deux premiers exercices, il suffit d'assigner la valeur \(10^{-6}=0{,}000\,001\) à la variable \(\text{longueurMax}\text{,}\) et \(10^{-7}=0{,}000\,000\,1\) pour le troisième exercice.
- Exercice 4.3.1 : \(c\in\;]1{,}732\,049\,942;1{,}732\,050\,895[\) donc \(c\approx 1{,}732\,05\text{.}\)
- Exercice 4.3.2 : \(c\in\;]0{,}693\,146\,70;0{,}693\,147\,659[\) donc \(c\approx 0{,}693\,15\text{.}\)
- Exercice 4.3.3 : \(c\in\;]1{,}832\,595\,705;1{,}832\,595\,765[\) donc \(c\approx 1{,}832\,60\text{.}\)
Exercice 4.3.5.
Soit \(c\) l'unique zéro de la fonction \(f(x)=x^2-5x+2\) dans l'intervalle \([4;5]\text{.}\) Notez que \(f(4)f(5)<0\text{.}\)
Utilisez la méthode de la bissection pour obtenir un encadrement de \(c\) par les bornes d'un intervalle de longueur inférieure ou égale à \(0{,}1\text{.}\) Présentez votre démarche sous la forme d'un tableau comme dans l'exemple 4.1.9.
On en conclut que
Remarque : \(\displaystyle c=\frac{5+\sqrt{17}}{2}\approx 4{,}562\text{.}\)
Exercice 4.3.6.
On veut encadrer \(\sqrt{3}\) par les bornes d'un intervalle de longueur inférieure ou égale à \(0{,}001\text{.}\) Pour cela, on applique la méthode de la bissection à la fonction \(f(x)=x^2-3\) en partant de l'intervalle \([1;2]\text{.}\)
Combien d'itérations doit-on effectuer au minimum?
10
On a
Il faut donc effectuer dix itérations au minimum.
Exercice 4.3.7.
On veut encadrer \(\ln(2)\) par les bornes d'un intervalle de longueur inférieure ou égale à \(10^{-9}\text{.}\) Pour cela, on applique la méthode de la bissection à la fonction \(f(x)=e^x-2\) en partant de l'intervalle \([0;1]\text{.}\)
Combien d'itérations doit-on effectuer au minimum?
30
On a
Il faut donc effectuer trente itérations au minimum.
Exercice 4.3.8.
Soit \(f(x)=(x-1)(x-2)\text{,}\) polynôme possédant deux zéros \(c_1=1\) et \(c_2=2\text{.}\)
Pour chacun des intervalles de départ qui suivent, utilisez le code fourni à la section 4.2 pour déterminer vers quel zéro l'algorithme converge :
- \([0;1{,}5]\text{;}\)
- \([1{,}5;4]\text{;}\)
- \([0{,}5;4{,}5]\text{.}\)
Qu'en concluez-vous?
Il converge
- vers \(c_1=1\text{;}\)
- vers \(c_2=2\text{;}\)
- vers \(4{,}5\) qui n'est pas un zéro de \(f\text{.}\)
Si les hypothèses ne sont pas toutes vérifiées, l'algorithme peut converger vers un nombre qui n'est pas un zéro de la fonction considérée.
Exercice 4.3.9.
Soit \(f(x)=(x^2-1)(x^2-4)\text{,}\) polynôme possédant quatre zéros : \(\pm 1\) et \(\pm 2\text{.}\)
Pour chacun des intervalles de départ qui suivent, utilisez le code fourni à la section 4.2 pour déterminer vers quel zéro l'algorithme converge :
- \([-3;-0{,}5]\text{;}\)
- \([-1{,}5;3]\text{;}\)
- \([-3;3]\text{;}\)
- \([-3;4]\text{.}\)
Qu'en concluez-vous?
Il converge
- vers \(-2\text{;}\)
- vers \(-1\text{;}\)
- vers \(1\text{;}\)
- vers \(4\) qui n'est pas un zéro de \(f\text{.}\)
D'une part, l'algorithme peut converger vers un zéro de la fonction, même si les hypothèses ne sont pas toutes vérifiées (voir les cas 1, 2 et 3 ci-dessus).
D'autre part, si les hypothèses ne sont pas toutes vérifiées, l'algorithme peut converger vers un nombre qui n'est pas un zéro de la fonction considérée (voir le cas 4 ci-dessus).
Exercice 4.3.10.
Modifiez le code donné à la section 4.2 pour qu'il affiche tous les intervalles d'encadrement obtenus, du départ à la dernière itération.
# entrées : def f(x): return x ** 2 - 2 a = 0.0 b = 2.0 longueurMax = 0.01 # instructions : while b - a > longueurMax: print(a, b) # ligne ajoutée m = (a + b) / 2 if f(m) == 0: a = m b = m break elif f(m) * f(a) < 0: b = m else: a = m # sortie : if a == b: print(a) else: print(a, b)
Exercice 4.3.11.
Dans le code donné à la section 4.2, on calcule \(f(a)\) à chaque itération pour laquelle \(f(m)\neq 0\text{,}\) même si \(a\) et donc \(f(a)\) n'ont pas changé. Il arrive aussi qu'on calcule deux fois \(f(m)\text{.}\)
Modifiez ce code afin de résoudre ces problèmes.
# entrées : def f(x): return x ** 2 - 2 a = 0.0 b = 2.0 longueurMax = 0.01 # instructions : ya = f(a) # ligne ajoutée while b - a > longueurMax: m = (a + b) / 2 ym = f(m) # ligne ajoutée if ym == 0: # ligne modifiée a = m b = m break elif ym * ya < 0: # ligne modifiée b = m else: a = m ya = ym # ligne ajoutée # sortie : if a == b: print(a) else: print(a, b)
Exercice 4.3.12. Méthode de la fausse position.
La méthode de la fausse position est une amélioration de la méthode de la bissection qui converge en général plus rapidement qu'elle. Au lieu de couper chaque intervalle \([a;b]\) en son milieu \(m\text{,}\) elle le coupe à la valeur \(s\) correspondant à l'abscisse de l'intersection de l'axe des \(x\) avec la droite sécante joignant les points \((a;f(a))\) et \((b;f(b))\text{.}\)
Exprimez \(s\) en fonction de \(a,b,f(a)\) et \(f(b)\text{.}\)
La pente de la droite est
et son équation est de la forme \(y=mx+p\text{.}\)
Comme elle passe notamment par le point \((a;f(a))\text{,}\) on a
On obtient donc l'équation
Le point d'intersection \((s;y)\) de cette droite avec l'axe des \(x\) vérifie donc
Par conséquent, on a