0% ont trouvé ce document utile (0 vote)
64 vues4 pages

TP4 1

Ce document décrit la méthode de dichotomie pour trouver les zéros d'une fonction. Il présente l'algorithme, son implémentation dans le logiciel Scilab ainsi que des exercices pour tester la méthode sur deux fonctions exemples.

Transféré par

RAMANANTSOA Harrimann
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
64 vues4 pages

TP4 1

Ce document décrit la méthode de dichotomie pour trouver les zéros d'une fonction. Il présente l'algorithme, son implémentation dans le logiciel Scilab ainsi que des exercices pour tester la méthode sur deux fonctions exemples.

Transféré par

RAMANANTSOA Harrimann
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

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)

Vous aimerez peut-être aussi