Université Grenoble Alpes DLST
UE MAP101 Année 2016-2017
Zéro(s) de fonction (1)
Séance (1h30) à faire par binôme.
1 - Présentation
Dans ce thème, on s’intéresse à un problème de base en calcul numérique qu’est la recherche
de zéro(s) d’une fonction f , i.e. connaissant f (par son expression analytique), trouver un réel
x telle que f (x) = 0, la fonction f présentant certaines ”bonnes” propriétés .
En général avec un ordinateur, tous les réels ne pouvant être représentés de manière exacte,
on cherche plutôt une valeur x tel que f (x) est proche de 0.
Dans ce thème, on va voir différentes méthodes algorithmiques, permettant de trouver une
telle valeur de x.
Bien évidemment, pour certaines fonctions, il n’existe pas de solution au problème f (x) = 0.
Par exemple pour la fonction f (x) = x2 + 1, il n’existe aucun x tel que f (x) = 0 (car pour tout
réel x, f (x) = x2 + 1 ≥ 1 > 0).
Pour d’autres fonctions, il peut y avoir plusieurs solutions voire une infinité de solutions .
Par exemple la fonction f (x) = cos(x) − 1/4 possède une infinité de solutions, si x est une
solution de f (x) = 0 alors x + 2kπ (avec k un entier) est aussi une solution de ce problème. On
peut par exemple se limiter à chercher x dans l’intervalle [0, π/2].
On va donc faire certaines hypothèses sur la fonction f ainsi que sur la valeur de x.
2 - Hypothèse générale
Dans tout ce thème, on va supposer que la fonction f est continue sur un intervalle I = [a, b]
(a et b sont aussi connus), et f change de signe sur I c’est à dire
( )
n o n o
f (a) < 0 et f (b) > 0 OU f (a) > 0 et f (b) < 0
ce qui est équivalent à f (a)f (b) < 0 .
Si on a ces hypothèses, alors le théorème des valeurs intermédiaires nous dit qu’il existe
x ∈ ]a, b[ tel que f (x) = 0.
De plus si f est strictement monotone sur I alors cette valeur x ∈ ]a, b[ est unique.
MAP101 - 2016-2017 1 Zéro(s) de fonction (1)
Dans ce TP, on utilisera deux fonctions :
f1 (x) = x6 + x2 + 9 x − 2 sur l’intervalle I1 = [−1, 1] ,
f2 (x) = ex + x − 2 sur l’intervalle I2 = [0, 1] .
Exercice 1 :
1. Avec Scilab, tracez la fonction f1 sur l’intervalle I1 afin de vérifiez qu’elle possède
bien un zéro sur cet intervalle.
2. Même exercice avec la fonction f2 sur l’intervalle I2 .
3 - Méthode par dichotomie
Cette première méthode correspond à la méthode utilisée dans la démonstration du théorème
des valeurs intermédiaires.
Le principe est de partir de l’intervalle [x1 , x2 ] = [a, b] puis par itérations successives, réduire
de moitié l’intervalle [x1 , x2 ] sur lequel la fonction change de signe jusque ce que la valeur |f (x1 )|
ou la valeur |f (x2 )| soit proche de 0 avec une précision souhaitée ε.
x=a x=b
y=0
y=f(x)
x1 x3 x2
Etape 0
x1 x3 x2
Etape 1
x1 x3 x2
Etape 2
x1 x3 x2
Etape 3
x1 x2
Etape 4
Différences étapes de la méthode par dichotomie
MAP101 - 2016-2017 2 Zéro(s) de fonction (1)
Connaissant :
— une fonction f ,
— deux valeurs a et b (tel que f (x) change de signe sur l’intervalle [a, b]),
— un réel ε > 0 définissant la précision voulue
l’algorithme s’écrit ainsi :
// initialisation
x1 ← a
x2 ← b
f1 ← f (x1) // valeur de f en x1
f2 ← f (x2) // valeur de f en x2
n←0 // numéro de l’étape
// boucle réduisant l’intervalle I = [x1, x2] en conservant le changement de signe sur I
tant que |f (x1)| ≥ ε et |f (x2)| ≥ ε faire
x3 ← (x1 + x2)/2 // x3 milieu de l’intervalle I
f3 ← f (x3) // valeur de f en x3
si f 1 × f 3 < 0 alors
// réduire l’intervalle à [x1, x3] : x2 prend la valeur de x3
x2 ← x3
f2 ← f3
sinon
// réduire l’intervalle à [x3, x2] : x1 prend la valeur de x3
x1 ← x3
f1 ← f3
fin si
n ← n+1
fin tant que
si |f (x1)| < ε alors
xbar ← x1
sinon
xbar ← x2
fin si
La valeur finale x = xbar vérifie |f (x)| < ε.
MAP101 - 2016-2017 3 Zéro(s) de fonction (1)
Récupérez par le WEB le fichier-script tp zf [Link] :
allez à l’adresse [Link]
entrez vos login et mot de passe
cliquez sur les liens Documents puis TP puis ZEROS FCT
cliquez sur le fichier et enregistrez-le dans votre répertoire de travail
Ce script :
1. définit la fonction f (x),
2. définit un intervalle [a, b] adéquat (tel que f (a)f (b) < 0),
3. demande à l’utilisateur de choisir la valeur ε > 0,
4. effectue l’algorithme par dichotomie,
5. puis affiche à la fin le nombre d’étapes n ainsi que les valeurs de x et |f (x)|.
Exercice 2 :
1. Complétez le script en écrivant les instructions Scilab correspondant à l’algorithme
de la page précedente.
2. Testez ensuite le script en notant dans le tableau ci-dessous les valeurs de n, x et
|f (x)| obtenues pour la précision ε.
fonction f (x) = x6 + x2 + 9 x − 2 avec a = −1 et b = 1
ε 10−2 10−4 10−6 10−8 10−10
n
x
|f (x)|
3. Modifiez le script afin de tester la fonction f2 avec a = 0 et b = 1, et complétez le
tableau suivant
fonction f (x) = ex + x − 2 avec a = 0 et b = 1
ε 10−2 10−4 10−6 10−8 10−10
n
x
|f (x)|
4. Pour chaque fonction, qu’observe-t-on pour n et |f (x)| lorsque la valeur ε diminue ?
MAP101 - 2016-2017 4 Zéro(s) de fonction (1)