📈 Szereg Taylora — przybliżenie wielomianowe
Zobacz, jak wielomiany Maclaurina przybliżają sin(x), cos(x) i eˣ. Przesuwaj N od 1 do 20 i patrz, jak każdy wyraz zwiększa dokładność krzywej.
O tej symulacji
Szereg Taylora rozwija dowolną gładką funkcję jako nieskończoną sumę wyrazów wielomianowych wokół pewnego punktu. Szereg Maclaurina (wokół zera) dla sin(x) to x − x³/3! + x⁵/5! − …. Każdy kolejny wyraz poszerza obszar, w którym wielomian wiernie odwzorowuje prawdziwą krzywą — pomarańczowa linia goni niebieską coraz dalej wraz ze wzrostem N. Ta symulacja oblicza każdy współczynnik Maclaurina bezpośrednio ze wzoru w postaci zamkniętej dla sin, cos i eˣ, zamiast różniczkować symbolicznie, i co klatkę porównuje wielomian obcięty z dokładną funkcją na 700 punktach próbkowania w bieżącym oknie X.
🔬 Co pokazuje
Niebieska krzywa to prawdziwa funkcja obliczona za pomocą Math.sin/Math.cos/Math.exp; pomarańczowa krzywa to obcięty wielomian Taylora Tₙ(x) = Σ cₖxᵏ dla k = 0…N. Tam, gdzie pomarańczowa wyraźnie odrywa się od niebieskiej, wielomian opuścił obszar dobrego przybliżenia dla bieżącego N i okna X.
🎮 Jak korzystać
Wybierz sin, cos lub eˣ, następnie przeciągnij suwak Terms (N) od 1 do 20, aby dodawać wyrazy wielomianu jeden po drugim, i poszerz okno X, aby rozbieżność pojawiła się wcześniej. Animate przesuwa animN w przód i w tył między 0 a N co 0,7 sekundy, dzięki czemu widać, jak wkład każdego wyrazu narasta i zanika; Reset zatrzymuje animację i przywraca animN do 0.
💡 Czy wiesz, że...
Ponieważ silnia w mianowniku rośnie szybciej niż jakakolwiek ustalona potęga x, wszystkie trzy szeregi są zbieżne dla każdego x rzeczywistego — nie ma skończonego promienia zbieżności, o który trzeba by się martwić, w przeciwieństwie do szeregu takiego jak 1/(1−x). Dlatego szereg eˣ, w którym każdy współczynnik wynosi dokładnie 1/k!, jest najprostszy z możliwych: nie wymaga żadnej zmiany znaku ani pomijania wyrazów zerowych.
Najczęściej zadawane pytania
Dlaczego szeregi sin i cos pomijają co drugi wyraz?
taylorCoeff() zwraca 0 dla parzystego k, gdy funkcją jest sin, oraz 0 dla nieparzystego k, gdy funkcją jest cos. Odzwierciedla to rzeczywiste rozwinięcia Maclaurina: pochodne sin w zerze powtarzają się cyklicznie 0, 1, 0, −1, więc przetrwają tylko potęgi nieparzyste, a pochodne cos powtarzają się 1, 0, −1, 0, więc przetrwają tylko potęgi parzyste.
Dlaczego pomarańczowa krzywa urywa się lub przeskakuje dla dużych |x|?
Pętla rysująca sprawdza isFinite(ppyj) oraz czy wykreślana wartość y wykracza poza podwójną wysokość płótna. Gdy wartość wielomianu przepełnia się przy wysokich potęgach x, kod przerywa odcinek linii (resetuje firstPt) zamiast rysować dziki skok na wykresie.
Co dokładnie mierzy liczba Max error?
Co klatkę porównywane są evalTaylor i evalTrue w 700 punktach próbkowania obejmujących bieżące okno X, a zachowywana jest największa różnica bezwzględna. Jest to numeryczne oszacowanie najgorszej rozbieżności w widocznym zakresie, więc zależy zarówno od N, jak i od szerokości ustawionej suwakiem okna X.
Jak przycisk Animate decyduje, które N wyświetlić?
displayN jest równe animN podczas animacji, a animN zwiększa się lub zmniejsza o 1 co 0,7 sekundy między 0 a wartością suwaka Terms (N), odwracając kierunek za każdym razem, gdy osiągnie jedną z granic. To naprzemienne, wahadłowe przemiatanie, a nie jednorazowe liczenie w górę.
Dlaczego szereg e^x ma tę samą postać dla każdej wartości x, podczas gdy sin i cos zmieniają znak?
Pochodna e^x jest równa e^x na każdym rzędzie, więc każdy współczynnik Maclaurina to po prostu 1/k! bez zmian znaku. sin i cos przechodzą cyklicznie przez cztery powtarzające się pochodne (sin, cos, -sin, -cos), co wymusza naprzemienny znak (-1)^k widoczny w taylorCoeff().