Avancer

Section 4.3 Exercices

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?

Réponse
\begin{equation*} c\in\;]1{,}625;1{,}75[ \end{equation*}
Solution
  • 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{.}\)

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?

Réponse
\begin{equation*} c\in\;]0{,}687\,5;0{,}75[ \end{equation*}
Solution
  • 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{.}\)

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?

Réponse
\begin{equation*} c\in\;]1{,}75;1{,}875[ \end{equation*}
Solution
  • 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{.}\)

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é.

Solution

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{.}\)

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.

Réponse
\begin{equation*} c\in\;]4{,}5;4{,}562\,5[ \end{equation*}
Solution
\begin{equation*} \begin{array}{cccccccc} \text{Itération}&a&b&b-a&m&f(m)&f(a)&m\rightarrow\\ \hline 1&4&5&>0{,}1&4{,}5&-&-&a\\ 2&4{,}5&5&>0{,}1&4{,}75&+&-&b\\ 3&4{,}5&4{,}75&>0{,}1&4{,}625&+&-&b\\ 4&4{,}5&4{,}625&>0{,}1&4{,}562\,5&+&-&b\\ 5&4{,}5&4{,}562\,5&\leq 0{,}1&&&&\\ \end{array} \end{equation*}

On en conclut que

\begin{equation*} c\in\;]4{,}5;4{,}562\,5[. \end{equation*}

Remarque : \(\displaystyle c=\frac{5+\sqrt{17}}{2}\approx 4{,}562\text{.}\)

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?

Réponse

10

Solution

On a

\begin{equation*} \begin{array}{crcl} &\frac{b-a}{2^n}&\leq&0{,}001\\ \Leftrightarrow&\frac{2-1}{2^n}&\leq&0{,}001\\ \Leftrightarrow&\frac{1}{2^n}&\leq&10^{-3}\\ \Leftrightarrow&10^3&\leq&2^n\\ \Leftrightarrow&\log(10^3)&\leq&\log(2^n)\\ \Leftrightarrow&3&\leq&n\cdot\log(2)\\ \Leftrightarrow&\frac{3}{\log(2)}&\leq&n\\ \Leftrightarrow&9{,}9\ldots&\leq&n. \end{array} \end{equation*}

Il faut donc effectuer dix itérations au minimum.

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?

Réponse

30

Solution

On a

\begin{equation*} \begin{array}{crcl} &\frac{b-a}{2^n}&\leq&10^{-9}\\ \Leftrightarrow&\frac{1-0}{2^n}&\leq&10^{-9}\\ \Leftrightarrow&\frac{1}{2^n}&\leq&10^{-9}\\ \Leftrightarrow&10^9&\leq&2^n\\ \Leftrightarrow&\log(10^9)&\leq&\log(2^n)\\ \Leftrightarrow&9&\leq&n\cdot\log(2)\\ \Leftrightarrow&\frac{9}{\log(2)}&\leq&n\\ \Leftrightarrow&29{,}8\ldots&\leq&n. \end{array} \end{equation*}

Il faut donc effectuer trente itérations au minimum.

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 :

  1. \([0;1{,}5]\text{;}\)
  2. \([1{,}5;4]\text{;}\)
  3. \([0{,}5;4{,}5]\text{.}\)

Qu'en concluez-vous?

Solution

Il converge

  1. vers \(c_1=1\text{;}\)
  2. vers \(c_2=2\text{;}\)
  3. 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.

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 :

  1. \([-3;-0{,}5]\text{;}\)
  2. \([-1{,}5;3]\text{;}\)
  3. \([-3;3]\text{;}\)
  4. \([-3;4]\text{.}\)

Qu'en concluez-vous?

Solution

Il converge

  1. vers \(-2\text{;}\)
  2. vers \(-1\text{;}\)
  3. vers \(1\text{;}\)
  4. 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).

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.

Solution
# 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)

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.

Solution
# 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)

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{.}\)

Réponse
\begin{equation*} s=a-\frac{f(a)(b-a)}{f(b)-f(a)} \end{equation*}
Solution

La pente de la droite est

\begin{equation*} m=\frac{f(b)-f(a)}{b-a} \end{equation*}

et son équation est de la forme \(y=mx+p\text{.}\)

Comme elle passe notamment par le point \((a;f(a))\text{,}\) on a

\begin{equation*} f(a)=ma+p\quad\text{d'où}\quad p=f(a)-ma. \end{equation*}

On obtient donc l'équation

\begin{equation*} \begin{array}{crcl} &y&=&mx+f(a)-ma\\ \Leftrightarrow&y&=&f(a)+m(x-a)\\ \Leftrightarrow&y&=&f(a)+\frac{f(b)-f(a)}{b-a}\cdot (x-a). \end{array} \end{equation*}

Le point d'intersection \((s;y)\) de cette droite avec l'axe des \(x\) vérifie donc

\begin{equation*} \begin{cases} y&=&f(a)+\frac{f(b)-f(a)}{b-a}\cdot (s-a)\\ y&=&0. \end{cases} \end{equation*}

Par conséquent, on a

\begin{equation*} \begin{array}{crcl} &f(a)+\frac{f(b)-f(a)}{b-a}\cdot (s-a)&=&0\\ \Leftrightarrow&\frac{f(b)-f(a)}{b-a}\cdot (s-a)&=&-f(a)\\ \Leftrightarrow&s-a&=&-\frac{f(a)(b-a)}{f(b)-f(a)}\\ \Leftrightarrow&s&=&a-\frac{f(a)(b-a)}{f(b)-f(a)}. \end{array} \end{equation*}