On considère la fonction $f:x\longmapsto 2x^3+3x^2-12x+5$ définie sur l'intervalle $[-4;2]$.
On en donne le tableau de variations ci-dessous :
*1°/* Justifier que l'équation $f(x)=0$ possède une solution *unique* sur l'intervalle $[1;2]$
*2°/* On appelle $\alpha$ l'unique solution del'équation $f(x)=0$ sur l'intervalle $[1;2]$. $a$ et $m$ sont deux réels de l'intervalle $[1;2]$.
Justifier que
*3°/* On cherche à trouver une valeur approchée de l'équation $f(x)=0$. Pour ce faire, on considère l'algorithme suivant :
A prend la valeur 1 B prend la valeur 2 M prend la valeur 1,5 P=0,1 Tant Que B-A>P Si f(M)*f(A)>0 A prend la valeur M Sinon B prend la valeur M M prend la valeur (A+B)/2 Fin TantQue Afficher M
Compléter le tableau ci-dessous en donnant à chaque début de passage dans la boucle les valeurs demandées
En déduire la valeur retournée par l'algorithme.
Variables | Etape 1 | Etape 2 | Etape 3 | Etape 4 | Etape 5 |
---|---|---|---|---|---|
A | 1 | ||||
B | 2 | ||||
M | |||||
f(A) | |||||
f(M) | |||||
B-A |
Quelle est la valeur retournée par l'algorithme ?
On pourra s'aider de la cellule Python ci-dessous pour faire tourner le coeur de l'algorithme à la main.
def f(x):
# On programme la fonction f en Python
return 2*x**3+3*x**2-12*x+5
A=1
B=2
M=(A+B)/2
print("M=",M)
print("f(A)=",f(A))
print("f(M)=",f(M))
print("B-A=",B-A)
Cet algorithme met en œuvre la méthode dite de *dichotomie* qui consiste à diviser par deux la longueur de recherche en prenant le milieu de l'intervalle à chaque fois.
Chacun a, peut-être sans le savoir, déjà utilisé cet algorithme dans des jeux type "trouver le nombre entre 0 et 100 auquel je pense". On essaye 50, et si la personne répond plus petit, on essaye 25 et ainsi de suite jusqu'à trouver le nombre cherché.
*5°/* Compléter le programme suivant et vérifier qu'il retourne bien la valeur escomptée
def f(x):
# On programme la fonction f en Python
return 2*x**3+3*x**2-12*x+5
A=1
B=2
M=1.5
P=0.1
while ... :
if f(M)*f(A)>0 :
...
else:
...
M=...
print(M)
*6°/* Modifier cet algorithme pour obtenir une valeur approchée de $\alpha$ à $10^{-4}$ près
*7°/* Justifier que l'équation $f(x)=0$ possède une solution *unique* $\beta$ sur l'intervalle $[-2;1]$
*8°/* Copier/Coller puis modifier le programme de la partie précédente afin de déterminer une valeur approchée de $\beta$ à $10^{-4}$ près.
# Copier/Coller / Modifier votre programme
*7°/* Justifier que l'équation $f(x)=10$ possède une solution *unique* $\gamma$ sur l'intervalle $[-2;1]$
*8°/* Copier/Coller puis modifier le programme de la partie précédente afin de déterminer une valeur approchée de $\gamma$ à $10^{-4}$ près.
# Copier/Coller / Modifier votre programme
Vous pouvez vous entraîner à refaire ces programmes sur la calculatrice. Cet algorithme de dichotomie est au programme du bac et tombe régulièrement.