Approximation de la fonction exponentielle par des polynomes

Approximation de la fonction
exponentielle par des
polynomes
Un exemple d'utilisation de Python pour
des calculs sur les polynomes et sur les
fonctions mathématiques
http://people.via.ecp.fr/~dhorv/form
ations
Plan
Représentation d'un polynome
Calcul de la valeur d'un polynome en un
point
Création du polynome exponentiel
Ecriture du programme complet
Comparaison avec les valeurs attendues,
limites de la méthode
Représentation d'un polynome
Un polynome s'écrit de la façon suivante :
a + bx + cx² + ...
Dans notre exemple, on codera le polynome comme une liste de coefficients :
p = [a,b,c...]
p[i] est donc le coefficient du terme de degré i. (Rappel : on commence à 0)
Ceci permet :
Un calcul simple des additions et soustractions par exemple
Une représentation proche de la représentation classique
Une utilisation naturelle des indices dans le parcours de la liste
Calcul de la valeur d'un
polynome en un point
def calculePolynome(p,x):
'''
Cette fonction permet de calculer la valeur d'un polynome P en un point x
'''
#Sert à stocker les valeurs des puissances successives de x
accumulateur = 1
#Contiendra le résultat
resultat = 0
#L'indice de boucle
i = 0
#On parcourt la liste qui décrit le polynome
while i < len(p):
#On ajoute à chaque étape le terme de puissance i
resultat += p[i] * accumulateur
#On prépare la puissance suivante de x
accumulateur *= x
#On passe à l'étape suivante
i += 1
#Le résultat est renvoyé
return resultat
Création du polynome
exponentiel
def creeExp(n):
'''
Cette fonction donne le polynome de degré n associé à la fonction exponentielle
'''
#On initialise la liste qui sera renvoyée
p = range(n)
#On stocke les factorielles successives.
#Note : on prend le type float pour pouvoir utiliser les grands nombres
factorielle = 1.0
#L'indice de boucle
i = 0
while i < n:
#La valeur du coefficient pour le degré i
p[i] = 1 / factorielle
#On prépare la factorielle suivante
factorielle *= (i+1)
i += 1
return p
1 / 7 100%
La catégorie de ce document est-elle correcte?
Merci pour votre participation!

Faire une suggestion

Avez-vous trouvé des erreurs dans linterface ou les textes ? Ou savez-vous comment améliorer linterface utilisateur de StudyLib ? Nhésitez pas à envoyer vos suggestions. Cest très important pour nous !