Estimation de l'erreur

Nous avons vu en cours que la solution de l'équation différentielle $ y'=y$ avec $ y(0)=1$ s'appelle la fonction exponentielle qui se note exp pour XCAS.

Nous avons utilisé une approximation pour obtenir son tracé par la méthode d'Euler. Il est bien sûr primordial d'avoir un ordre de grandeur de l'erreur commise.

Nous avons écrit que $ \exp(a+h)\simeq (1+h)\times\exp(a)$ .

Créons alors une fonction Exp(h,x) qui donne une approximation de $ \E^x$ pour un h donné.

Il suffit d'utiliser la procédure précédente en ôtant la partie concernant le tracé et en prenant $ a=0$ , $ k=1$ , $ b=x$  :

Exp(h,x):={ 
X:=0;  
Y:=1;  
tantque X<=x  faire  
   X:=X+h; 
   Y:=(1+h)*Y; 
ftantque:;  
}:;

Par exemple, on peut comparer Exp(h,1) et $ \exp(1)$ pour des valeurs successives de h entre 0,1 et 0,0001, puis en prenant d'autres valeurs de $ x$ .

Étudiez le rapport $ \frac{Exp(0.01,x)-\exp(x)}{\exp(x)}$ pour différentes valeurs de $ x$ .

Que pensez-vous de l'approximation ?


On peut visualiser l'erreur commise en créant une fonction erreur :

erreur(x):=(1-Exp(0.01,x)/evalf(exp(x)))*100

Puis en créant la suite des points de coordonnées (x,erreur(x)) pour x variant de 0 à 100 avec un pas de 1.

La commande seq comme séquence0.1 permet de créer cette suite de valeurs :

seq(point(x,erreur(x)),x=0..100)

Des commentaires ?

Guillaume Connan 2007-11-13