L2 MAI MAP24x
TP 8 : D´etermination d’une racine et d’un minimum local d’une
fonction
Recherche d’une racine Soit un intervalle [a, b] avec a < b, et une fonction fcontinue sur [a, b], avec
f(a)f(b)<0. On cherche une valeur approch´ee d’une racine de f= 0. Pour cela on consid`ere l’algorithme
de dichotomie suivant : Coder l’algorithme ci-dessus en Scilab en d´eterminant la bonne condition sur f(m) `a
Algorithme 1 : M´ethode de dichotomie
fonction res=dichotomie(f, a, b)
tant que |a−b|> ε faire
m=a+b
2
si condition sur f(m)alors
a=m
sinon
b=m
res=a+b
2
finfonction
utiliser. Tester avec la fonctionf(x) = cos x−x2sur [0,1] et en d´eduire une approximation de la racine `a 10−8
pr`es. Tester avec la fonction g(x) = x2sur l’intervalle [−2,1]. L’algorithme fonctionne-t-il ? Pourquoi ?
Recherche d’un minimum On veut ´ecrire un algorithme qui `a partir des valeurs a, b ∈Ret d’une fonction
f: [a, b]→Rtrouve une valeur approch´ee, `a 10−8pr`es du x∈]a, b[ tel que f(x) soit minimum i.e. que f0(x)=0
(mais sans calculer la d´eriv´ee de f! ). On suppose que dans l’intervalle [a, b] le graphe de fest convexe c’est `a
dire que f0(x) est une fonction croissante. On va choisir 2 points cet ddans l’intervalle [a, b] pour chercher `a
r´eduire l’intervalle en ´etudiant la valeur de la pente kde la corde trac´ee entre cet d.
1. Soit g(t) = f(t)−tf0(c) montrer que gest croissante. Comparer g(c) et g(d) et en d´eduire que
f0(c)≤f(c)−f(d)
c−d=k.
2. De mˆeme montrer que f0(d)≥f(c)−f(d)
c−d=k.
3. En remarquant que ∀t∈[a, c[, f0(t)< f 0(c) et ∀t∈]d, b], f0(d)< f0(t), d´eduire comment r´eduire la taille
de l’intervalle [a, b] suivant le signe de k.
4. Choisir les points cet den fonction de aet b(par exemple ´equidistants).
5. En d´eduire un proc´edure Scilab donnant le minimum d’une foncion fsur un intervalle [a, b] `a 10−8pr`es.
6. Tester l’algorithme sur x2,|x|sur [−1,1] et cos xsur [0,2π].