Taylori seeria on funktsiooni esitus, kasutades lõpmatut summat. Arvutid teevad sageli trigonomeetriliste, eksponentsiaalsete või muude transtsendentaalsete väärtuste ligikaudseid väärtusi funktsioon, liites lõpliku arvu selle Taylori seeria tingimusi ja saate selle protsessi uuesti luua Python. Summa tingimused põhinevad funktsiooni järjestikustel tuletistel, seega peate rea iga liikme jaoks valemi kirjutamiseks tuvastama nende tuletiste väärtuste mustri. Seejärel kasutage summa kogumiseks tsüklit, kontrollides oma lähenduse täpsust tsükli iteratsioonide arvuga.
Samm 1
Tutvuge Taylori seeria määratlusega, et mõista, kuidas iga terminit saab arvutada. Iga seeria liige on indekseeritud, tavaliselt n-ga, ja selle väärtus on seotud esitatava funktsiooni n-nda tuletisega. Lihtsuse huvides kasutage esimesel katsel "a" väärtuseks 0. Seda Taylori seeria eriversiooni nimetatakse Maclaurini seeriaks. Proovige siinusfunktsiooni, kuna selle järjestikuseid tuletisi on lihtne määrata.
Päeva video
2. samm
Kirjutage üles mitu siinusfunktsiooni n-nda tuletise väärtust, mille väärtus on 0. Kui n on 0, on väärtus 0. Kui n on 1, on väärtus 1. Kui n on 2, on väärtus 0. Kui n on 3, on väärtus -1. Siit edasi muster kordub, seega jätke tähelepanuta Taylori seeria iga paarisindeksiga liige, kuna see on korrutatud 0-ga. Saadud seeria iga liikme valem on järgmine:
(-1)^n/(2n+1)!*x^(2n+1)
"2n+1" kasutatakse "n" asemel seeria uuesti indekseerimiseks, jättes tõhusalt kõrvale paarisindeksiga terminid, muutmata indeksit ennast. Tegur (-1)^n arvestab järjestikuste terminite positiivse ja negatiivse vaheldumist. See esialgne matemaatikatöö võib tunduda kõrvaline, kuid Pythoni koodi on palju lihtsam kirjutada ja teistes Taylori seeriates uuesti kasutada, kui indeks algab alati 0-st ja loeb ülespoole sammuga 1.
3. samm
Avage Pythoni tõlk. Alustuseks tippige mitme muutuja määratlemiseks järgmised käsud:
summa = 0 x = 0,5236
Muutujat "summa" kasutatakse Taylori seeria summa kogumiseks iga liikme arvutamisel. Muutuja "x" on nurk (radiaanides), mille siinusfunktsiooni soovite ligikaudselt hinnata. Seadistage see, mis teile meeldib.
4. samm
Importige "matemaatika" moodul järgmise käsuga, et teil oleks juurdepääs funktsioonidele "pow" ja "factorial".
importida matemaatikat
5. samm
Käivitage tsükkel "for", määrates iteratsioonide arvu funktsiooniga "vahemik":
n jaoks vahemikus (4):
See põhjustab indeksi muutuja n algust nullist ja loendamist kuni 4-ni. Isegi see väike korduste arv annab üllatavalt täpse tulemuse. Silmus ei käivitu kohe ja ei alga enne, kui olete määranud kogu koodiploki, mida itereerida.
6. samm
Sisestage järgmine käsk, et lisada iga järjestikuse termini väärtus "summale":
summa += math.pow(-1,n)/math.factorial (2*n+1)*math.pow (x, 2*n+1)
Pange tähele, et käsk on taandatud vahekaardiga, mis näitab Pythonile, et see on osa tsüklist "for". Pange tähele ka seda, kuidas "^" ja "!" asemel kasutatakse "pow" ja "factorial" märge. Määramisoperaatorist "+=" paremal olev valem on identne 2. toimingus olevaga, kuid on kirjutatud Pythoni süntaksis.
7. samm
Tühja rea lisamiseks vajutage "Enter". Pythoni jaoks näitab see tsükli "for" lõpetamist, nii et arvutus viiakse läbi. Tulemuse kuvamiseks tippige käsk "summa". Kui kasutasite punktis 3 antud x väärtust, on tulemus väga lähedane pi/6 siinusele 0,5. Proovige protsessi uuesti x erinevate väärtuste ja tsükli erineva arvu iteratsioonide jaoks, kontrollides tulemusi funktsiooniga "math.sin (x)". Olete Pythonis juurutanud sama protsessi, mida paljud arvutid kasutavad siinuse ja muude transtsendentaalsete funktsioonide väärtuste arvutamiseks.
Näpunäide
Sisestage taane ja tippige tsükli "for" teisele reale käsk "sum", et saada koodi käivitamisel jooksev summa. See näitab, kuidas seeria iga järjestikune liige viib summa järjest lähemale funktsiooni tegelikule väärtusele.