Brauche Hilfe Angleichung der Sinus-Funktion in python mit Taylor-Reihe

Ich bin sehr neu in Python und versuche die Angleichung der Sinus-Funktion mit diese Serie.

Mein code sieht wie folgt aus:

import math
def sin(x,n):
sine = 0
for i in range(n):
    sign = (-1)**i
    sine = sine + ((x**(2.0*i-1))/factorial(2**i-1))*sign
return sine

Diese nicht zurück, die Antwort die ich mir erhofft hatte, aber ich bin sehr verwirrt und kann nicht finden, mein Fehler... oder vielleicht bin ich einfach nur über dies der falsche Weg völlig (wie gesagt, ich bin sehr neu in python und in die Programmierung im Allgemeinen).

Scheint es ähnlich zu dem Programm, das ich zu schreiben hatte vor einer Weile Ungefähre pi gegeben diese Serie:

def piApprox(n):
pi = 0
for i in range(n):
    sign = (-1)**i
    pi = pi + 1.0/(2*i+1)*sign
return 4*pi

Ich weiß nicht, ob das nützlich ist, in irgendeiner Weise, aber es ist, was ich versucht habe zu verwenden, um herauszufinden, meine Sinus-Methode. Jede Hilfe dies zu beheben, oder zeigen Sie mich in die richtige Richtung wäre sehr dankbar!

  • Wie wirkt sich Ihr Verhalten von dem abweichen, was Sie erwartet, speziell?
  • Ich hatte erwartet,, bis Sie wieder eine Antwort in der Nähe wie die Mathematik.sin(x) zurückkehren würde. Ich fühle mich wie mein problem liegt irgendwo in der for i in range(n): Teil des Codes.
  • Ok, dann sollten Sie wählen ein einfaches Beispiel-Eingang, ändern Sie Ihren code so drucken Sie alle Zwischenergebnisse an, und vergleichen Sie Sie, um eine manuelle Berechnung.
InformationsquelleAutor user2141367 | 2013-03-06
Schreibe einen Kommentar