Open Source Your Knowledge, Become a Contributor

Technology knowledge has to be shared and made accessible for free. Join the movement.

Create Content

La méthode d'Euler pour représenter la fonction exponentielle.

La fonction exponentielle est définie comme la fonction vérifiant f(0)=1f(0)=1 et f(x)=f(x)f(x)=f(x) pour tout réel x. On souhaite tracer la courbe représentative de f à partir de ces informations. Pour cela nous allons utiliser la méthode d'Euler.

La méthode d'Euler consiste à construire une suite de points AnAn dont les coordonnées seront notées (xn,yn)(xn,yn) de la manière suivante :

  1. A0A0 est le point de la courbe qu'on connait c'est à dire le point de coordonnées (0,1)(0,1).
  2. Les abscisses xnxn augmente de toujours la même valeur qu'on notera pas. Autrement dit xn+1=xn+pasxn+1=xn+pas.
  3. Pour construire A1A1, on va utiliser le fait que la tangente en A0A0 est une bonne approximation de la courbe. Or on connait mieux ici la tangente que la courbe puisque son coefficient directeur est f(0)=f(0)=y0=1f(0)=f(0)=y0=1. Donc en écrivant le taux d'accroissement, on a f(0)y1y0x1x0=y1y0pasf(0)y1y0x1x0=y1y0pas. On en déduit y1=f(0).pas+y0=pas+1y1=f(0).pas+y0=pas+1 puisque f(0)=f(0)=y0=1f(0)=f(0)=y0=1.
  4. Pour construire A2A2, on réitère le même procédé mais en partant de A1A1. On a f(1)y2y1x1x0=y2y1pasf(1)y2y1x1x0=y2y1pas. On en déduit y2=f(1).pas+y1=y1(pas+1)=(pas+1)2y2=f(1).pas+y1=y1(pas+1)=(pas+1)2 puisque f(1)=f(1)y1f(1)=f(1)y1.
  5. On continue ainsi la construction des points AnAn dont les coordonnées sont finalement xn=n.pasxn=n.pas et yn=(pas+1)nyn=(pas+1)n. Voici une représentation de la situation : méthode d'Euler
  6. Une fois cette liste de points établie, on les relie par des segments.

Créer un programme qui prend en entrée un pas et le nombre n de segments à construire et qui trace la courbe approximative de la fonction exponentielle. Pour pouvoir vérifier la validité du programme, on demande en plus de renvoyer (avec return) la liste des ordonnées des points AnAn.

Pour tracer la courbe, on utilisera la fonction plt.plot(liste_x, liste_y) qui demande la liste liste_x de toutes les abscisses des points à tracer et la liste liste_y des ordonnées des points à tracer. On pourra trouver sur internet plein d'options de modification (couleur, façon de tracer, de marquer les points etc.) de la fonction plt.plot.

Entrée : un réel pas et un entier n.

Sortie : Un programme qui trace n segments de l'approximation de la courbe représentative de l'exponentielle par la méthode d'Euler de pas valant pas. Pour pouvoir vérifier la validité du programme, il faudra de plus renvoyer (avec return) la liste liste_y des ordonnées des points tracés.

En rouge est tracé la courbe exacte de la fonction exponentielle.

Tracé de l'exponentielle par la méthode d'Euler
import matplotlib.pyplot as plt
#Paramètres modifiables pour le tracé final.
#Vous pouvez prendre un pas négatif pour voir l'approximation pour les abscisses négatives.
pas=0.75
n=4
def mon_programme(pas,n):
#Ne pas toucher ce qui précède
#Les valeurs pour les variables en entrée seront automatiquement données
#Ecrire ci-dessous en n'oubliant pas d'indenter
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

Approximation du nombre e

La méthode d'Euler nous permet d'obtenir les valeurs de la fonction exponentielle de proche en proche. On va l'utiliser ici pour obtenir plus particulièrement la valeur de e=exp(1)e=exp(1). Pour cela, nous allons reprendre les formules obtenues dans l'étape 5 : xn=n.pasxn=n.pas et yn=(pas+1)nyn=(pas+1)n.

Si on veut que ynyn nous donne la valeur approximative de ee, il faut que xn=n.pasxn=n.pas soit égal à 1. Autrement dit pas=1npas=1n ce qui donne en remplaçant yn=(1+1n)nyn=(1+1n)n.

En utilisant cette formule, créer une fonction qui prend en entrée nn et donne en sortie une approximation de ee.

Approximation de e
def ma_fonction(n):
# Ne pas toucher ce qui précède
# Les valeurs pour les variables en entrée seront automatiquement données
# Ecrire ci-dessous en n'oubliant pas d'indenter et d'utiliser return pour renvoyer un résultat
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX
Open Source Your Knowledge: become a Contributor and help others learn. Create New Content