>> Électroniques Technologie >  >> Maison intelligente >> Vie intelligente

Comment écrire une série 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'une fonction trigonométrique, exponentielle ou autre fonction transcendantale en additionnant un nombre fini de termes de sa série de Taylor, et vous pouvez recréer ce processus en 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 nième dérivée 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.

Étape 2

Noter plusieurs valeurs de la nième dérivée 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 modèle se répète, donc ne tenez pas compte de chaque terme indexé pair de la série de Taylor puisqu'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, supprimant ainsi 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 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 =.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 afin d'avoir accès aux fonctions "pow" et "factorial":

importer des mathématiques

Étape 5

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

pour n dans la plage (4):

Cela entraînera la variable d'index, n, à commencer à zéro et à compter 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 à itérer.

Étape 6

Tapez la commande suivante pour ajouter la valeur de chaque terme successif à "sum :"

sum += 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 des "^" 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 des sinus et d'autres fonctions transcendantales.

Astuce

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


Vie intelligente