Wie schreibt man eine Taylor-Reihe in Python?

Eine Taylor-Reihe ist eine Darstellung einer Funktion mit einer unendlichen Summe. Computer machen oft Annäherungen an die Werte einer trigonometrischen, exponentiellen oder anderen transzendenten Funktion durch Summieren einer endlichen Anzahl der Terme ihrer Taylor-Reihe, und Sie können diesen Prozess in Python. Die Terme der Summe basieren auf aufeinanderfolgenden Ableitungen der Funktion, daher müssen Sie ein Muster in den Werten dieser Ableitungen identifizieren, um eine Formel für jeden Term der Reihe zu schreiben. Verwenden Sie dann eine Schleife, um die Summe zu akkumulieren, und steuern Sie die Genauigkeit Ihrer Näherung mit der Anzahl der Iterationen der Schleife.

Schritt 1

Lesen Sie die Definition der Taylor-Reihe, um zu verstehen, wie jeder Term berechnet werden kann. Jeder Term der Reihe ist indiziert, typischerweise durch "n", und sein Wert bezieht sich auf die n-te Ableitung der dargestellten Funktion. Verwenden Sie der Einfachheit halber bei Ihrem ersten Versuch 0 für den Wert von "a". Diese spezielle Version der Taylor-Reihe wird als Maclaurin-Reihe bezeichnet. Versuchen Sie es mit der Sinusfunktion, da ihre sukzessiven Ableitungen leicht zu bestimmen sind.

Video des Tages

Schritt 2

Schreiben Sie mehrere Werte der n-ten Ableitung der zu 0 bewerteten Sinusfunktion auf. Wenn n 0 ist, ist der Wert 0. Wenn n 1 ist, ist der Wert 1. Wenn n 2 ist, ist der Wert 0. Wenn n 3 ist, ist der Wert -1. Ab hier wiederholt sich das Muster, also ignorieren Sie jeden geraden indizierten Term der Taylor-Reihe, da er mit 0 multipliziert wird. Eine Formel für jeden Term der resultierenden Reihe lautet:

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

"2n+1" wird anstelle von "n" verwendet, um die Reihe neu zu indizieren, wodurch die geraden indizierten Terme effektiv verworfen werden, ohne den Index selbst zu ändern. Der Faktor (-1)^n erklärt den Wechsel zwischen positiv und negativ aufeinanderfolgender Terme. Diese vorläufige mathematische Arbeit mag überflüssig erscheinen, aber der Python-Code ist viel einfacher zu schreiben und für andere Taylor-Reihen wiederzuverwenden, wenn der Index immer bei 0 beginnt und in Schritten von 1 aufwärts zählt.

Schritt 3

Öffnen Sie den Python-Interpreter. Beginnen Sie mit der Eingabe der folgenden Befehle, um mehrere Variablen zu definieren:

Summe = 0 x = 0,5236

Die Variable "Summe" wird verwendet, um die Summe der Taylor-Reihen zu akkumulieren, während jeder Term berechnet wird. Die Variable "x" ist der Winkel (im Bogenmaß), für den Sie die Sinusfunktion approximieren möchten. Stellen Sie es nach Belieben ein.

Schritt 4

Importieren Sie das Modul "math" mit dem folgenden Befehl, damit Sie auf die Funktionen "pow" und "factorial" zugreifen können:

Mathe importieren

Schritt 5

Initiieren Sie eine "for"-Schleife, indem Sie die Anzahl der Iterationen mit der "range"-Funktion festlegen:

für n im Bereich (4):

Dadurch beginnt die Indexvariable n bei Null und zählt bis 4. Selbst diese geringe Anzahl von Iterationen führt zu einem überraschend genauen Ergebnis. Die Schleife wird nicht sofort ausgeführt und beginnt erst, wenn Sie den gesamten Codeblock zum Durchlaufen angegeben haben.

Schritt 6

Geben Sie den folgenden Befehl ein, um den Wert jedes aufeinanderfolgenden Begriffs zu "sum" hinzuzufügen:

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

Beachten Sie, dass der Befehl mit einem Tabulator eingerückt ist, der Python anzeigt, dass er Teil der "for"-Schleife ist. Beachten Sie auch, wie "pow" und "factorial" anstelle von "^" und "!" Notation. Die Formel rechts vom Zuweisungsoperator "+=" ist identisch mit der in Schritt 2, jedoch in Python-Syntax geschrieben.

Schritt 7

Drücken Sie "Enter", um eine Leerzeile hinzuzufügen. Für Python bedeutet dies die Beendigung der "for"-Schleife, damit die Berechnung ausgeführt wird. Geben Sie den Befehl "sum" ein, um das Ergebnis anzuzeigen. Wenn Sie den in Schritt 3 angegebenen Wert von x verwendet haben, liegt das Ergebnis sehr nahe bei 0,5, dem Sinus von pi/6. Wiederholen Sie den Vorgang für verschiedene Werte von x und für verschiedene Anzahlen von Iterationen der Schleife, indem Sie Ihre Ergebnisse mit der Funktion "math.sin (x)" vergleichen. Sie haben in Python genau den Prozess implementiert, den viele Computer verwenden, um Werte für Sinus und andere transzendente Funktionen zu berechnen.

Spitze

Ziehen Sie den Befehl "sum" in die zweite Zeile der "for"-Schleife ein und geben Sie ihn ein, um eine laufende Summe der Summe zu erhalten, während der Code ausgeführt wird. Dies zeigt, wie jeder aufeinanderfolgende Term der Reihe die Summe dem tatsächlichen Wert der Funktion immer näher bringt.