Résolution numérique des équations non linéaires 1 Calcul d`une

publicité
Septembre 2012
2ème année Ingénieur
Résolution numérique des équations non linéaires
1
Calcul d’une racine par l’algorithme de dichotomie
(ou bissection)
On considère la fonction
r
h
h
f (h) = π − 2 arccos( ) + h 1 − ( ) − A = 0.
2
2
Pour une valeur de A donnée. L’équation précédente admet une et une seule solution.
Pour trouver cette solution, on peut utiliser l’algorithme de dichotomie : On commence
avec l’intrevalle [a, b] où h peut varier dans notre cas [0, 2]. Noter qu’à une extrimité de
l’intervalle la fonction f (h) est positive, tandis qu’à l’autre extrêmité de l’intervalle la
fonction f (h) est négative. Comme la fonction est continue, il doit y avoir un zéro dans
l’intervalle. Pour le trouver, on calcule le point milieu m de l’intervalle et on regarde la
valeur de f (h) en ce point. Selon le signe, on peut décider dans quel sous-intervalle [a, m]
ou [m, b] se trouve le zéro. Ensuite on réitère le procédé dans le sous-intervalle qui correspondant.
Noter que l’on utilise un astuce numérique pour le critère d’arrêt. D’un point de vue
se trouve toujours entre a et b, mais numériquement,
mathématique, le point milieu m = (a+c)
2
il y a seulement un ensemble discret de nombres machines, donc en certains points il n’y
a plus de nombre machine dans l’intrevalle [a, b] et donc m est égal à a ou b. Ainsi, l’algorithme précédent donne un résultat aussi précis que possible sur un ordinateur donné.
Exercice 1
Implémenter l’algorithme de dichotomie en Matlab.
Pour cela on ajoutera un paramètre de sortie le dernier sous-intervalle [a, b] (car on en
aura besoin dans la suite). On rajoutera un test a > b et on améliorera l’algorithme en
faisant une seule évaluation de f à chaque itération.
Exercice 2
Utiliser l’algorithme de dichotomie pour créer un tableau représentant les valeurs de h en
fonction de celles de A(h) :
r
h
h
A(h) = π − 2 arccos( ) + h 1 − ( )
2
2
A(h) 0 0.1π 0.2π . . . π
h
0
?
? . . . 2.
2
Méthode de point fixe
On résoud ici l’équation g(x) = x.
1. Donner l’interprétation géométrique de l’algorithme suivant :
x0 donné
xn+1 = g(xn ).
2. Ecrire la fonction MatLab correspondante.
3. Appliquer la méthode de point fixe à la résolution de
x + ln(x) = 0 sur [0, 1]
e−x − x = 0 sur [0, 1]
−1
1
+ e 2x − x = 0 sur [0, 2].
2
3
Méthode de Newton
On résoud de nouveau f (x) = 0.
Une itération de l’algorithme de Newton s’écrit

 x0 donné
f (xn )
.
 xn+1 = xn − 0
f (xn )
1. Expliquer pourquoi cette méthode s’appelle également la méthode de la tangente.
2. Ecrire la fonction MatLab correspondante.
3. L’appliquer aux équations des questions précédentes et à la recherche des racines de
x3 − 6x + 2 = 0.
Téléchargement