Jak napisać serię Taylora w Pythonie

click fraud protection

Szereg Taylora jest reprezentacją funkcji za pomocą sumy nieskończonej. Komputery często dokonują przybliżeń wartości trygonometrycznych, wykładniczych lub innych transcendentalnych funkcji przez zsumowanie skończonej liczby wyrazów jej szeregu Taylora, i możesz odtworzyć ten proces w Pyton. Terminy sumy są oparte na kolejnych pochodnych funkcji, więc aby napisać wzór dla każdego wyrazu szeregu, musisz zidentyfikować wzorzec wartości tych pochodnych. Następnie użyj pętli, aby zsumować sumę, kontrolując dokładność przybliżenia liczbą iteracji pętli.

Krok 1

Zapoznaj się z definicją szeregu Taylora, aby zrozumieć, jak można obliczyć każdy termin. Każdy wyraz serii jest indeksowany, zwykle przez „n”, a jego wartość jest powiązana z n-tą pochodną reprezentowanej funkcji. Dla uproszczenia użyj 0 jako wartości „a” przy pierwszej próbie. Ta specjalna wersja serii Taylora nazywa się serią Maclaurina. Wypróbuj funkcję sinus, ponieważ jej kolejne pochodne są łatwe do wyznaczenia.

Wideo dnia

Krok 2

Zapisz kilka wartości n-tej pochodnej funkcji sinus oszacowanej na 0. Jeśli n wynosi 0, wartość wynosi 0. Jeśli n wynosi 1, wartość wynosi 1. Jeśli n wynosi 2, wartość wynosi 0. Jeśli n wynosi 3, wartość wynosi -1. Od tego momentu wzór się powtarza, więc zignoruj ​​​​każdy parzysty wyraz szeregu Taylora, ponieważ jest pomnożony przez 0. Wzór dla każdego wyrazu powstałego szeregu to:

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

„2n+1” jest używane zamiast „n” w celu ponownego indeksowania szeregu, skutecznie odrzucając terminy o parzystym indeksie bez zmiany samego indeksu. Czynnik (-1)^n odpowiada za przemienność między dodatnimi i ujemnymi kolejnych wyrazów. Ta wstępna praca matematyczna może wydawać się nieistotna, ale kod Pythona będzie znacznie łatwiejszy do napisania i ponownego użycia w innych seriach Taylora, jeśli indeks zawsze zaczyna się od 0 i odlicza w górę w przyrostach o 1.

Krok 3

Otwórz interpreter Pythona. Zacznij od wpisania następujących poleceń, aby zdefiniować kilka zmiennych:

suma = 0 x = 0,5236

Zmienna „suma” będzie używana do akumulacji sumy szeregu Taylora podczas obliczania każdego wyrazu. Zmienna „x” to kąt (w radianach), dla którego chcesz aproksymować funkcję sinus. Ustaw to, co chcesz.

Krok 4

Zaimportuj moduł „math” za pomocą następującego polecenia, aby uzyskać dostęp do funkcji „pow” i „silnia”:

importuj matematykę

Krok 5

Zainicjuj pętlę „for”, ustawiając liczbę iteracji funkcją „range”:

dla n w zakresie (4):

Spowoduje to, że zmienna indeksu n zacznie się od zera i będzie liczyła do 4. Nawet tak mała liczba iteracji da zaskakująco dokładny wynik. Pętla nie jest wykonywana natychmiast i nie rozpocznie się, dopóki nie określisz całego bloku kodu do iteracji.

Krok 6

Wpisz następujące polecenie, aby dodać wartość każdego kolejnego terminu do „sum:”

suma += math.pow(-1,n)/mat.silnia (2*n+1)*math.pow (x, 2*n+1)

Zauważ, że polecenie jest wcięte za pomocą tabulatora, co wskazuje Pythonowi, że jest częścią pętli „for”. Zwróć także uwagę, jak "pow" i "silnia" są używane zamiast "^" i "!" notacja. Formuła po prawej stronie operatora przypisania „+=” jest taka sama jak w kroku 2, ale napisana w składni Pythona.

Krok 7

Naciśnij „Enter”, aby dodać pustą linię. Dla Pythona oznacza to zakończenie pętli "for", więc obliczenia są wykonywane. Wpisz polecenie „sum”, aby wyświetlić wynik. Jeśli użyjesz wartości x podanej w kroku 3, wynik jest bardzo bliski 0,5, sinusowi pi/6. Spróbuj powtórzyć proces dla różnych wartości x i dla różnej liczby iteracji pętli, porównując wyniki z funkcją „math.sin (x)”. Zaimplementowałeś w Pythonie ten sam proces, którego wiele komputerów używa do obliczania wartości dla funkcji sinus i innych funkcji transcendentalnych.

Wskazówka

Wciśnij i wpisz polecenie „sum” w drugim wierszu pętli „for”, aby uzyskać bieżącą sumę sumy podczas wykonywania kodu. Pokazuje to, jak każdy kolejny wyraz szeregu przybliża sumę do rzeczywistej wartości funkcji.