Vous êtes sur la page 1sur 1

D.M.

3 :
DÉVELOPPEMENT EN SÉRIE DE TAYLOR
Si vous le souhaitez, vous pouvez vérifier sur ordinateur le code que vous écrirez pour ce devoir. Vous êtes
bien sûr encouragés à installer Spyder1, mais de simples interpréteurs en ligne comme OnlineGDB 2 ou
Programiz3 peuvent amplement suffire.

On suppose qu’il existe une fonction factorial qui permet de calculer la factorielle d’un entier ; par
exemple, factorial(5) vaut 5! = 1 ⋅ 2 ⋅ 3 ⋅ 4 ⋅ 5 = 120. Vous pouvez utiliser cette fonction sans
avoir à la redéfinir. Si vous voulez tester votre code sur ordinateur, il faudra d’abord importer cette
fonction depuis la bibliothèque math, en écrivant from math import factorial.

Vous devrez rendre votre copie au format papier, en veillant notamment à l’indentation de votre code.
Pensez à réutiliser vos propres fonctions. Bon courage !

En mathématiques, on montre que l’on peut approximer certaines fonctions « complexes » par des polynômes
beaucoup plus simples à calculer. Plus le degré du polynôme est élevé, meilleur est l’approximation. Par exemple,
on a :
𝑥 𝑥2 𝑥𝑛
exp(𝑥) ≈ 1 + + + ⋯+
1! 2! 𝑛!
𝑥3 𝑥5 (−1)𝑛 𝑥 2𝑛+1
sin(𝑥) ≈ 𝑥 − + + ⋯ +
3! 5! (2𝑛 + 1)!

Ainsi, on peut écrire ce que l’on appelle le développement en série de Taylor à l’ordre 3 de exp(𝑥) :

𝑥 𝑥2 𝑥3
exp(𝑥) ≈ ⏟
1 + + +

1! ⏟
2! ⏟
3!
𝑜𝑟𝑑𝑟𝑒 0
𝑜𝑟𝑑𝑟𝑒 1 𝑜𝑟𝑑𝑟𝑒 2 𝑜𝑟𝑑𝑟𝑒 3

1. Écrire une fonction Python taylor_exp_terme_n(x, n) permettant de calculer le terme d’ordre


n de la série de Taylor de la fonction exponentielle en x.
𝟓𝟐
Par exemple, taylor_exp_terme_n(5, 2) doit valoir = 𝟏𝟐. 𝟓.
𝟐!

2. Écrire une fonction taylor_exp_ordre_10(x) permettant de calculer une valeur approchée de


𝒆𝒙𝒑(𝒙) en utilisant le développement en série de Taylor à l’ordre 10.

Pour les questions suivantes, on supposera que les différents termes de la série de Taylor sont, en valeur absolue,
de plus en plus petit : le terme d’ordre 0 est plus grand que le terme d’ordre 1, lui-même plus grand que le terme
d’ordre 2, …

3. Écrire une fonction taylor_exp(x, precision) permettant de calculer une valeur approchée
de 𝒆𝒙 avec une précision precision. Par exemple, taylor_exp(0.2, 0.001) doit renvoyer
un nombre qui commence par 1.221, car 𝒆𝟎.𝟐 ≈ 𝟏. 𝟐𝟐𝟏𝟒𝟎𝟑.

4. Que doit-on modifier dans ce code pour pouvoir calculer le sinus d’un nombre ?

1
https://www.anaconda.com/products/individual#Downloads
2
https://www.onlinegdb.com/online_python_compiler
3
https://www.programiz.com/python-programming/online-compiler/

TSI 1 p. 1/1

Vous aimerez peut-être aussi