View
1
Download
0
Category
Preview:
Citation preview
Résolution de l’équation f (x) = 0
Didier Cassereau
Laboratoire d’Imagerie Biomédicale, UPMC CNRS INSERM, Paris, France
ESPCI - Promotion 138
Résolution de l’équation f (x) = 0
Problème posé
On cherche à calculer la/les solution(s) d’une équation scalaire de laforme
f (x) = 0
Approches standardsméthodes itératives directesavec ou sans connaissance de la dérivée f ′(x)méthodes de recherche de point fixe
2/17
Résolution de l’équation f (x) = 0
Dichotomie
recherche dans un intervalle [x1, x2] tel que f (x1)× f (x2) ≤ 0calcul du point milieu c = (x1 + x2)/2 et f (c)
Itération :si f (x1)× f (c) < 0 :[x1, x2] =⇒ [x1, c]si f (x1)× f (c) > 0 :[x1, x2] =⇒ [c, x2]
. convergence garantie
. erreur 10−12 : ' 40 itérations
. méthode robuste mais lente(convergence linéaire)
3/17
Résolution de l’équation f (x) = 0
Dichotomie
Exemple 1 : calcul des racines de f (x) = x3 − 4x2 − 2x + 8
[−2, 0] =⇒ −1.41421[1, 2] =⇒ +1.41421[3, 5] =⇒ +4
Exemple 2 : calcul de la largeur à mi-hauteur de g(x) = e−x2
[0, 1] =⇒ 0.832555
4/17
Résolution de l’équation f (x) = 0
Méthode de la sécante
il n’est pas nécessaire d’encadrer la solutionméthode itérative partant de deux valeurs x0 et x1
points P0(x0, y0 = f (x0)) et P1(x1, y1 = f (x1))calcul du point Pn+2=intersection{(Pn+1Pn), axe y = 0}
Itération : xn+2 = xn − f (xn) xn+1 − xnf (xn+1)− f (xn)
yn+2 = f (xn+2)
. racines r telles que f ′(r) 6= 0
. risque de divergence
. méthode rapide5/17
Résolution de l’équation f (x) = 0
Méthode de la fausse position
intermédiaire entre dichotomie et sécanteà nouveau il faut pouvoir encadrer la solution
Itération :a1, b1 tels que f (a1)f (b1) < 0calcul de c par la formule de la sécante, puisf (c)[a1, b1] =⇒ [a2, b2] = [a1, c] si f (a1)f (c) < 0[a1, b1] =⇒ [a2, b2] = [c, b1] sinon
. racines r telles que f ′(r) 6= 0
. risque de divergence
. méthode rapide6/17
Résolution de l’équation f (x) = 0
Comparaison entre ces méthodes
Méthode Avantages/Inconvénientsdichotomie . convergence assurée
. fonctionne avec des racines multiples
. encadrer la solution
. convergence lentesécante . convergence rapide
. pas besoin d’encadrer la solution
. racines r telles que f ′(r) 6= 0
. possibilité de divergencefausse position . convergence rapide, moins que la sécante
. plus robuste que la sécante
. encadrer la solution
. racines r telles que f ′(r) 6= 0
. possibilité de divergence
7/17
Résolution de l’équation f (x) = 0
Méthodes de point fixe
on remplace l’équation f (x) = 0 par g(x) = xon commence à x0, puis on itère xn+1 = g(xn)critère d’arrêt : |xn+1 − xn | < ε
très simple à implémenter, mais pas d’unicité de l’itération
Exemple : f (x) = x3 − 3x2 − 3x − 35
. g1(x) = 35x2 − 3x − 3
. g2(x) = x3 − 3x2 − 353
. g3(x) = 3√
3x2 + 3x + 35
8/17
Résolution de l’équation f (x) = 0
Méthodes de point fixe - exemple
Valeur initiale x0 = 0
Fonction g1>> trop d’ iterations>> x = 0.333333 , f(x) = -36.2963
Fonction g2>> divergence a l’ infini
Fonction g3>> convergence apres 35 iterations>> x = 5, f(x) = -2.35687e -11
9/17
Résolution de l’équation f (x) = 0
La méthode de Newton-Raphson
méthode de type recherche de point fixesuppose la connaissance de la dérivée de la fonctionpoint P0(x0, y0 = f (x0))calcul de x1, intersection de la tangente avec l’axe y
Itération : xn+1 = xn −f (xn)f ′(xn)
yn+1 = f (xn+1)
. racines r telles que f ′(r) 6= 0
. risque de divergence
. méthode rapide10/17
Résolution de l’équation f (x) = 0
La méthode de Newton-Raphson - convergence
convergence rapide si convergence,risque de divergence au voisinage d’un extremumrisque de situations cycliques
résolution de f (x) = x3 − 5x = 0
xn+1 = xn −x3
n − 5xn3x2
n − 5valeur initiale x0 = 1. x1 = −1. x2 = 1. x3 = −1...
11/17
Résolution de l’équation f (x) = 0
La méthode de Newton-Raphson à n dimensions
cas d’un système non linéairebeaucoup plus délicat que les systèmesl linéairesnon linéarité =⇒ instabilités numériques fortes
Exemple {f1(x, y) = x2 − (y2 − 1)2 = 0f2(x, y) = (x2 − 2)2 − 2y2
coniques dans le plan xysolutions multiples
dimension n : hyper-courbes
12/17
Résolution de l’équation f (x) = 0
La méthode de Newton-Raphson à n dimensions
Problème poséf1(x1, x2, · · · , xn) = 0f2(x1, x2, · · · , xn) = 0...fn(x1, x2, · · · , xn) = 0
notation vectorielle~X = (x1, x2, · · · , xn)fi(~X) = 0, 1 ≤ i ≤ n
Développement de Taylor au voisinage de ~X
. fi(~X + δ~X) = fi(~X) +n∑
j=1
∂fi∂xj
δxj + O(‖δ~X‖2
). A = (aij), 1 ≤ i ≤ n, 1 ≤ i ≤ n : matrice des gradients
13/17
Résolution de l’équation f (x) = 0
La méthode de Newton-Raphson à n dimensions
Principe de la méthode~X proche de la solution cherchéeon cherche δ~X de sorte que ~X + δ~X se rapproche de la solutionon itère jusqu’à ce que le terme correctif δ~X soit assez faible
En négligeant les termes d’ordre 2 dans le développement de Taylor
fi(~X + δ~X) ' fi(~X) +n∑
j=1
∂fi∂xj
δxj = 0
=⇒n∑
j=1
∂fi∂xj
δxj = −fi(~X)
=⇒ Aδ~X = −{
fi(~X), 1 ≤ i ≤ n}
=⇒ δ~X = −A−1 ·{
fi(~X), 1 ≤ i ≤ n}
14/17
Résolution de l’équation f (x) = 0
La méthode de Newton-Raphson à n dimensions
Schéma de l’algorithme
15/17
Résolution de l’équation f (x) = 0
La méthode de Newton-Raphson à n dimensions
Entrer la valeur de x0 [0] = 1Entrer la valeur de x0 [1] = 1iteration 1, module =5.590170e -01iteration 2, module =2.248461e -02iteration 3, module =1.101313e -03iteration 4, module =1.394931e -06iteration 5, module =3.305416e -12iteration 6, module =1.464494e -16x = 0.511306 1.22935f1(x) = -2.220446e -16f2(x) = -8.881784e -16
Entrer la valeur de x0 [0] = 2Entrer la valeur de x0 [1] = 2iteration 1, module =2.415942e -01iteration 2, module =6.014358e -02iteration 3, module =3.985741e -03iteration 4, module =1.707169e -05iteration 5, module =3.146551e -10iteration 6, module =1.617654e -16x = 2.12094 1.76662f1(x) = -1.776357e -15f2(x) = -3.552714e -15
Entrer la valeur de x0 [0] = -1Entrer la valeur de x0 [1] = 1iteration 1, module =5.590170e -01iteration 2, module =2.248461e -02iteration 3, module =1.101313e -03iteration 4, module =1.394931e -06iteration 5, module =3.305416e -12iteration 6, module =1.464494e -16x = -0.511306 1.22935f1(x) = -2.220446e -16f2(x) = -8.881784e -16
Entrer la valeur de x0 [0] = -2Entrer la valeur de x0 [1] = 2iteration 1, module =2.415942e -01iteration 2, module =6.014358e -02iteration 3, module =3.985741e -03iteration 4, module =1.707169e -05iteration 5, module =3.146551e -10iteration 6, module =1.617654e -16x = -2.12094 1.76662f1(x) = -1.776357e -15f2(x) = -3.552714e -15
16/17
Recommended