Back
Close

Recueil d'exercices pour apprendre Python au lycée

M_C
26.8K views

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

La fonction exponentielle est définie comme la fonction vérifiant f(0)=1 et 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 An dont les coordonnées seront notées (xn,yn) de la manière suivante :

  1. A0 est le point de la courbe qu'on connait c'est à dire le point de coordonnées (0,1).
  2. Les abscisses xn augmente de toujours la même valeur qu'on notera pas. Autrement dit xn+1=xn+pas.
  3. Pour construire A1, on va utiliser le fait que la tangente en A0 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=1. Donc en écrivant le taux d'accroissement, on a f(0)y1y0x1x0=y1y0pas. On en déduit y1=f(0).pas+y0=pas+1 puisque f(0)=f(0)=y0=1.
  4. Pour construire A2, on réitère le même procédé mais en partant de A1. On a f(1)y2y1x1x0=y2y1pas. On en déduit y2=f(1).pas+y1=y1(pas+1)=(pas+1)2 puisque f(1)=f(1)y1.
  5. On continue ainsi la construction des points An dont les coordonnées sont finalement xn=n.pas et yn=(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 An.

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
Create your playground on Tech.io
This playground was created on Tech.io, our hands-on, knowledge-sharing platform for developers.
Go to tech.io
codingame x discord
Join the CodinGame community on Discord to chat about puzzle contributions, challenges, streams, blog articles - all that good stuff!
JOIN US ON DISCORD
Online Participants