Hogyan írjunk Taylor-sorozatot Pythonban

A Taylor-sorozat egy függvény végtelen összeget használó reprezentációja. A számítógépek gyakran közelítenek egy trigonometrikus, exponenciális vagy más transzcendentális értékeket függvényt a Taylor-sorozat véges számú tagjának összegzésével, és ezt a folyamatot újra létrehozhatja Piton. Az összeg feltételei a függvény egymást követő deriváltjain alapulnak, ezért a sorozat minden tagjához képlet írásához meg kell határoznia egy mintát ezeknek a deriváltaknak az értékeiben. Ezután egy ciklus segítségével gyűjtse össze az összeget, és szabályozza a közelítés pontosságát a hurok iterációinak számával.

1. lépés

Tekintse meg a Taylor-sorozat definícióját, hogy megértse, hogyan számíthatók ki az egyes kifejezések. A sorozat minden tagja indexelve van, jellemzően "n"-nel, és értéke a reprezentált függvény n-edik deriváltjához kapcsolódik. Az egyszerűség kedvéért használjon 0-t az "a" értékére az első próbálkozáskor. A Taylor sorozatnak ezt a különleges változatát Maclaurin sorozatnak hívják. Próbálja ki a szinuszfüggvényt, mivel annak egymást követő deriváltjait könnyű meghatározni.

A nap videója

2. lépés

Írja fel a szinuszfüggvény n-edik deriváltjának 0-ra értékelt értékét. Ha n értéke 0, akkor az értéke 0. Ha n 1, akkor az értéke 1. Ha n 2, akkor az érték 0. Ha n 3, akkor az érték -1. Innentől kezdve a minta ismétlődik, ezért hagyja figyelmen kívül a Taylor-sorozat minden páros indexű tagját, mivel azt 0-val szorozzák. A kapott sorozat minden tagjának képlete a következő:

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

A „2n+1” az „n” helyett a sorozat újraindexelésére szolgál, hatékonyan elveti a páros indexelt tagokat anélkül, hogy magát az indexet megváltoztatná. A (-1)^n tényező az egymást követő tagok pozitív és negatív közötti váltakozásáért felelős. Ez az előzetes matematikai munka feleslegesnek tűnhet, de a Python-kód sokkal könnyebben írható és használható más Taylor-sorozatokon, ha az index mindig 0-val kezdődik, és 1-gyel számol felfelé.

3. lépés

Nyissa meg a Python értelmezőt. Kezdje a következő parancsok begépelésével több változó meghatározásához:

összeg = 0 x = .5236

Az "összeg" változót a Taylor-sorozat összegének felhalmozására használjuk az egyes tagok kiszámításakor. Az "x" változó az a szög (radiánban), amelyre a szinuszfüggvényt közelíteni kívánja. Állítsd be úgy, ahogy akarod.

4. lépés

Importálja a "matematikai" modult a következő paranccsal, hogy hozzáférjen a "pow" és a "factorial" függvényekhez:

import matematika

5. lépés

Indítson el egy "for" ciklust, és állítsa be az iterációk számát a "tartomány" függvénnyel:

n esetén a (4) tartományban:

Ez azt eredményezi, hogy az n indexváltozó nulláról indul, és 4-ig számol. Már ez a kis számú iteráció is meglepően pontos eredményt ad. A ciklus nem hajtódik végre azonnal, és addig nem indul el, amíg meg nem adjuk a teljes kódblokkot az iterációhoz.

6. lépés

Írja be a következő parancsot az egyes egymást követő kifejezések értékének hozzáadásához a "sum"-hoz:

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

Figyeljük meg, hogy a parancs egy tabulátorral van behúzva, ami azt jelzi a Python számára, hogy a „for” ciklus része. Figyelje meg azt is, hogy a "pow" és a "factorial" a "^" és a "!" jelölés. A "+=" hozzárendelési operátortól jobbra lévő képlet megegyezik a 2. lépésben szereplővel, de Python szintaxisban íródott.

7. lépés

Üres sor hozzáadásához nyomja meg az "Enter" billentyűt. A Python számára ez a "for" ciklus befejezését jelzi, így a számítás végrehajtásra kerül. Írja be a „sum” parancsot az eredmény megjelenítéséhez. Ha a 3. lépésben megadott x értékét használta, az eredmény nagyon közel van a 0,5-höz, a pi/6 szinuszához. Próbálja újra a folyamatot x különböző értékeire és a ciklus különböző számú iterációjára, és ellenőrizze az eredményeket a "math.sin (x)" függvénnyel. Ön azt a folyamatot valósította meg a Pythonban, amelyet sok számítógép használ a szinusz és más transzcendentális függvények értékeinek kiszámítására.

Tipp

Írja be a "sum" parancsot a "for" ciklus második sorába, és írja be a "sum" parancsot, hogy megkapja az összeg futó végösszegét a kód végrehajtása közben. Ez megmutatja, hogy a sorozat minden egymást követő tagja hogyan hozza az összeget egyre közelebb a függvény tényleges értékéhez.