Comment écrire une série de Taylor en Python

Une série de Taylor est une représentation d'une fonction utilisant une somme infinie. Les ordinateurs font souvent des approximations des valeurs d'un trigonométrique, exponentiel ou autre transcendantal fonction en sommant un nombre fini des termes de sa série de Taylor, et vous pouvez recréer ce processus dans Python. Les termes de la somme sont basés sur les dérivées successives de la fonction, vous devrez donc identifier un modèle dans les valeurs de ces dérivées pour écrire une formule pour chaque terme de la série. Ensuite, utilisez une boucle pour accumuler la somme, en contrôlant la précision de votre approximation avec le nombre d'itérations de la boucle.

Étape 1

Consultez la définition de la série de Taylor pour comprendre comment chaque terme peut être calculé. Chaque terme de la série est indexé, généralement par "n", et sa valeur est liée à la dérivée nième de la fonction représentée. Par souci de simplicité, utilisez 0 pour la valeur de "a" lors de votre première tentative. Cette version spéciale de la série Taylor s'appelle la série Maclaurin. Essayez la fonction sinus, car ses dérivées successives sont faciles à déterminer.

Vidéo du jour

Étape 2

Notez plusieurs valeurs de la dérivée nième de la fonction sinus évaluée à 0. Si n est 0, la valeur est 0. Si n est 1, la valeur est 1. Si n est 2, la valeur est 0. Si n est 3, la valeur est -1. À partir de là, le motif se répète, alors ne tenez pas compte de chaque terme à index pair de la série de Taylor car il est multiplié par 0. Une formule pour chaque terme de la série résultante est :

(-1)^n/(2n+1)!*x^(2n+1)

« 2n+1 » est utilisé à la place de « n » pour réindexer la série, en supprimant efficacement les termes indexés pairs sans modifier l'index lui-même. Le facteur (-1)^n rend compte de l'alternance entre le positif et le négatif des termes successifs. Ce travail mathématique préliminaire peut sembler superflu, mais le code Python sera beaucoup plus facile à écrire et à réutiliser sur d'autres séries de Taylor si l'index commence toujours à 0 et compte vers le haut par incréments de 1.

Étape 3

Ouvrez l'interpréteur Python. Commencez par taper les commandes suivantes pour définir plusieurs variables :

somme = 0 x = 0,5236

La variable "somme" sera utilisée pour accumuler la somme de la série de Taylor au fur et à mesure que chaque terme est calculé. La variable "x" est l'angle (en radians) pour lequel vous souhaitez approximer la fonction sinus. Réglez-le sur ce que vous voulez.

Étape 4

Importez le module "math" avec la commande suivante pour avoir accès aux fonctions "pow" et "factorielle" :

importer des mathématiques

Étape 5

Initiez une boucle "for", en définissant le nombre d'itérations avec la fonction "range":

pour n dans la plage (4) :

Cela fera que la variable d'index, n, commencera à zéro et comptera jusqu'à 4. Même ce petit nombre d'itérations donnera un résultat étonnamment précis. La boucle ne s'exécute pas immédiatement et ne commencera pas tant que vous n'aurez pas spécifié tout le bloc de code sur lequel itérer.

Étape 6

Tapez la commande suivante pour ajouter la valeur de chaque terme successif à « somme: »

somme += math.pow(-1,n)/math.factorial (2*n+1)*math.pow (x, 2*n+1)

Notez que la commande est indentée avec une tabulation, ce qui indique à Python qu'elle fait partie de la boucle "for". Notez également comment "pow" et "factorial" sont utilisés à la place de "^" et "!" notation. La formule à droite de l'opérateur d'affectation "+=" est identique à celle de l'étape 2, mais écrite en syntaxe Python.

Étape 7

Appuyez sur "Entrée" pour ajouter une ligne vide. Pour Python, cela indique la fin de la boucle "for", donc le calcul est exécuté. Tapez la commande "somme" pour révéler le résultat. Si vous avez utilisé la valeur de x donnée à l'étape 3, le résultat est très proche de 0,5, le sinus de pi/6. Essayez à nouveau le processus pour différentes valeurs de x et pour différents nombres d'itérations de la boucle, en vérifiant vos résultats par rapport à la fonction "math.sin (x)". Vous avez implémenté en Python le processus même que de nombreux ordinateurs utilisent pour calculer les valeurs du sinus et d'autres fonctions transcendantales.

Conseil

Indentez et tapez la commande "sum" sur la deuxième ligne de la boucle "for" pour obtenir un total cumulé de la somme à mesure que le code s'exécute. Cela révèle comment chaque terme successif de la série rapproche la somme de plus en plus de la valeur réelle de la fonction.