Calcul de l’erreur
Le calcul de l’erreur sert d’une part à vérifier les estimations théoriques, et, d’autre part à comparer la vitesse de convergence
différentes méthodes pour approcher la solution exacte ¯x. Ainsi, en plus du calcul d’une approximation de ¯xon a parfois
besoin de calculer l’erreur à chaque étape de l’algorithme |en|=|xn−¯x|. De nouveau, en général, ¯xn’est pas connue (même
si ¯xest connue sa valeur sera approchée par l’ordinateur (par exemple si ¯x=π)). En pratique, on calculera un vecteur etel
que
en=|xn−¯xa|(1)
de taille nit + 1 où nit est le nombre d’itérations et
–¯xavaut ¯xsi ¯xest connue.
–¯xaest une valeur approchée de ¯xaussi précise que possible (calculée avec une tolérance εtrès petite) sinon.
Représentation de l’erreur
Pour représenter l’erreur, on peut utiliser deux types de graphes :
– On peut d’une part tracer l’erreur en fonction du nombre d’itérations (en échelle logarithmique). Pour cela on peut
utiliser la fonction semilogy de Matlab.
– On peut aussi tracer en+1 en fonction de ende façon à trouver l’ordre de la méthode. On rappelle qu’une méthode est
d’ordre ps’il existe une constante Cet une nombre entier positif n0tel que
|en+1| ≤ C|en| ∀n≥n0.
En pratique on aura en fait
|en+1| ≈ C|en|p
si bien qu’en passant au logarithme, on obtient
ln |en+1| ≈ pln |en|+ ln C
Ainsi, en traçant, ln |en+1|en fonction de ln |en|, on obtiendra approximativement une droite de pente p.
Exercice 1* (Algorithmique)
1. Méthode de dichotomie : on souhaite calculer une valeur approchée d’une racine d’une fonction fdonnée dans un
intervalle [a, b]⊂R. La racine doit être calculée avec une précision de εdonnée.
– Quels sont les paramètres d’entrée ? quels sont les paramètres de sortie ?
– Définir un critère d’arrêt pour cet algorithme.
– Ecrire l’algorithme complet de la fonction Dichotomie.m.
– Ecrire une fonction supplémentaire DichotomieErreur.m ayant un paramètre d’entrée supplémentaire ¯xa(définie
par (1)) et un paramètre de sortie supplémentaire le vecteur e.
2. Méthode de Newton : on souhaite calculer une valeur approchée d’une racine d’une fonction fdonnée, partant d’un
point x0donné. La racine doit être calculée avec une précision de ε.
– Quels sont les paramètres d’entrée ? quels sont les paramètres de sortie ?
– Définir un critère d’arrêt pour cet algorithme.
– Ecrire l’algorithme complet de la fonction Newton.m.
– Ecrire l’algorithme d’une fonction supplémentaire NewtonErreur.m ayant un paramètre d’entrée supplémentaire
¯xa(définie par (1)) et un paramètre de sortie supplémentaire le vecteur e.
3. Méthode du point fixe : on souhaite calculer une valeur approchée d’un point fixe d’une fonction gà partir d’un point
x0donné. Le point fixe doit être calculé avec une précision de εdonnée.
– Quels sont les paramètres d’entrée ? quels sont les paramètres de sortie ?
– Définir un critère d’arrêt pour cet algorithme.
– Ecrire l’algorithme complet de la fonction PointFixe.m.
– Ecrire l’algorithme d’une fonction supplémentaire PointFixeErreur.m ayant un paramètre d’entrée supplémen-
taire ¯xa(définie par (1)) et un paramètre de sortie supplémentaire le vecteur e.
4. Représentation de l’erreur
– Écrire l’algorithme d’une fonction RepresentationErreur1.m qui trace l’erreur een fonction du nombre d’ité-
rations en échelle logarithmique. L’erreur eest stockée dans un vecteur.
– Écrire l’algorithme d’une fonction RepresentationErreur2.m qui trace l’erreur ln |en+1|en fonction de ln |en|
et qui calcule l’ordre de la méthode numérique. L’erreur eest stockée dans un vecteur.
Indication. Dans Matlab, il est possible d’utiliser une fonction en paramètre en utilisant la fonction feval. Par exemple,
si on veut effectuer le produit entre deux fonction fet gdéfinie dans les fichiers f.m et g.m, on peut créer la fonction
produit.m comme suit :
2