Travaux Pratiques 10 : Calcul approché de la racine d`une équation

publicité
Lycée Madeleine Michelis - ECE1
Mathématiques - 2016/2017
Travaux Pratiques 10 : Calcul approché de la racine
d'une équation du type
f (x) = 0
L'objectif de ce TP est de présenter des méthodes numériques permettant d'évaluer les (éventuelles)
solutions d'une équation
1
f (x) = 0
où
f
est une fonction pour le moment quelconque.
Présentation du problème
Soit f : R → R une fonction. On souhaite résoudre l'équation :
f (x) = 0.
(E)
Lorsque f est une fonction assez "simple", par exemple lorsque f est une fonction ane ou une
fonction polynômiale de degré 2, la résolution de cette équation est possible : on connait le nombre
de solutions et leurs expressions. Cependant, le plus souvent, il est impossible de résoudre une telle
équation. Heureusement, il existe des méthodes qui permettent d'approcher les solutions x de (E).
C'est ce que nous allons voir dans ce TP.
Dans tout ce TP, on suppose que f vérie les hypothèses du théorème des valeurs intermédiaires
sur un intervalle [a ; b], c'est à dire :
ˆ f est continue sur [a ; b],
ˆ f est strictement monotone sur [a ; b],
ˆ f (a)f (b) < 0, autrement dit f (a) et f (b) sont de signes strictement opposés.
Ceci nous garantit qu'il existe un unique c ∈ ]a ; b[ tel que f (c) = 0 (autrement dit l'équation (E)
admet une unique solution qui est c).
f(b)
a
c
b
f(a)
1
Lycée Madeleine Michelis - ECE1
2
Mathématiques - 2016/2017
Méthode du balayage
2.1
Description de la méthode
On souhaite approcher la solution c de (E) avec une erreur d'au plus ε.
L'idée est de diviser le segment [a ; b] en segments de largeurs ε :
a
a+ε
a + 2ε
a + 3ε
...
b
On regarde le signe de f (a). Si f (a + ε) est du signe contraire de f (a) alors d'après le théorème
des valeurs intermédiaires, la solution c est dans l'intervalle [a ; a + ε].
Pour déterminer si f (a) et f (a+ε) sont de signe contraire on calcule f (a)f (a+ε) : si cette quantité
est négative c'est que f (a) et f (a + ε) sont de signe contraire.
Sinon on continue en se déplaçant de ε : on compare alors les signes de f (a + ε) et de f (a + 2ε)
etc.
2.2
Erreur commise
La méthode du balaye propose une approximation de la solution à ε (longueur entre deux points
consécutifs a + kε et a + (k + 1)ε). Plus ε est petit et plus l'erreur commise est faible, mais plus le
balayage est long . . .
Exercice 1
Soit
f (x) = x2 − 2
1. Vérier que les hypothèses du théorème des valeurs intermédiaires sont vériées sur
[1 ; 3].
2. Écrire un programme qui permet d'approcher la solution de l'équation f (x) = 0 à 0.01
près par la méthode du balayage.
3. Modier ce programme pour en faire une fonction qui prend comme argument d'entrée
l'erreur ε.
3
3.1
Méthode de la dichotomie
Description de la méthode
La démarche est simple :
2
Lycée Madeleine Michelis - ECE1
Mathématiques - 2016/2017
1. On divise l'intervalle [a ; b] en deux intervalles de même tailles. Le milieu de cet intervalle est
m = a+b
2 . On obtient donc deux intervalles [a ; m] et [m ; b].
2. Si f (a)f (m) < 0 alors c est dans [a ; m] sinon c est dans l'intervalle [m ; b].
3. On garde l'intervalle contenant c, autrement dit :
ˆ si c est dans [a ; m], alors on eectue l'opération : b ← m.
ˆ sinon, on eectue l'opération a ← m.
On répète alors les étapes 1., 2. et 3. autant de fois que nécessaire pour se rapprocher autant que
l'on veut de la solution. Le milieu du dernier intervalle est alors une approximation de la solution.
Exercice 2
Soit f (x) = ln(x) − 1. On considère l'équation :
f (x) = 0.
(E2 )
1. Montrer que f vérie les conditions du théorème de la bijection sur [1 ; 4].
2. Écrire un programme qui permet d'approcher la solution de (E1 ) par la méthode de
dichotomie. On xera un nombre arbitraire de division de l'intervalle en 2 - par exemple
50.
3. Modier ce programme pour en faire une fonction qui prend comme arguments d'entrée
le nombre de fois N que l'on répète l'algorithme et les bornes a et b de l'intervalle.
3.2
Erreur commise
A chaque étape, l'intervalle est divisé en deux et on sait que la solution c est dans cet intervalle.
On peut résumer cela à l'aide d'un tableau :
Étape :
Taille de l'intervalle
0
b−a
b−a
2
b−a
22
b−a
23
1
2
3
..
.
N
..
.
..
.
b−a
2N
..
.
Ainsi, si après une itération, on prend le milieu du segment m pour approcher c alors l'erreur
b−a
commise sera d'au plus
. De même, en prenant le milieu du segment obtenu après N étapes,
l'erreur sera d'au plus
2
b−a
.
2N
3
Lycée Madeleine Michelis - ECE1
Mathématiques - 2016/2017
Conséquence : si on veut approcher la solution c de (E) en commettant une erreur d'au plus ε,
il sut de répéter l'algorithme un certain nombre de fois. On veut que après N répétitions de
l'algorithme, la longueur du segment ( b−a
) dans lequel se trouve la solution c vérie :
2N
b−a
≤ε
2N
b−a
ε ⇐⇒
2N ≥
⇐⇒
N ln 2 ≥ ln
⇐⇒
N≥
ln
b−a
ε
b−a
ε
ln 2
Exercice 3
On reprend le cadre de l'exercice précédent. Écrire un programme qui demande à l'utilisateur
l'erreur maximale souhaitée (par exemple 0, 001) et qui retourne une approximation de la
solution c avec au plus une erreur de ε.
Exercice 4
On aurait pu s'aranchir de calculer le nombre d'étapes nécessaires N . Si ε est l'erreur maximale renseignée par l'utilisateur, il sut d'utiliser une boucle while pour contrôler la largeur
de l'intervalle : il sut de répéter l'algorithme de dichotomie tant que la largeur de l'intervalle
obtenu est supérieure à ε . . .
Écrire une fonction Scilab qui utilise une boucle while pour approcher c avec une erreur
d'au plus ε (renseignée par l'utilisateur).
Fin
4
Téléchargement