Vsebina
Serija Taylor je predstavitev funkcije s pomočjo neskončne vsote. Računalniki na splošno približujejo vrednosti trigonometrične, eksponencialne ali druge transcendentalne funkcije s končnim številom izrazov v ustrezni Taylorjevi vrsti in ta proces lahko ponovno ustvarite v Pythonu. Pogoji vsote temeljijo na zaporednih izvedbah funkcije, zato morate v njihovih vrednostih prepoznati vzorec, da lahko zapišete formulo za vsak izraz v nizu. Nato boste uporabili zanko, da boste zbrali vsoto, s tem da boste nadzorovali natančnost vašega približevanja s številom ponovitev.
Navodila
Približajte se Taylorjevi seriji v Pythonu (Hemera Technologies / AbleStock.com / Getty Images)-
Preberite definicijo serije Taylor, da boste razumeli, kako je mogoče izračunati vsak izraz. Vsak je indeksiran, običajno z "n", njegova vrednost pa se nanaša na derivat "n" vrstnega reda funkcije, ki bo predstavljena. Za enostavnost uporabite 0 za vrednost "a" na vašem prvem poskusu. Ta posebna različica serije Taylor se imenuje "serija MacLaurin". Uporabite funkcijo "sinus", kot je enostavno določiti zaporedne derivate.
-
Napišite več vrednosti derivata "n" sinusne funkcije, vrednotene na 0. Če je "n" enako 0, bo vrednost 0. Za n = 1 bo vrednost 1. V primeru n = 2 bo vrednost 0. Ko je n = 3, bo vrednost -1. Vzorec se od tukaj ponavlja, tako da lahko izločimo vse sodo ujete številke v Taylorjevi seriji, saj se bo pomnožilo z 0. Formula za vsak izraz v seriji, ki se bo pojavila, bo:
(1n) 2n + (2n + 1)
Če se "2n + 1" uporablja namesto "n" za ponovno indeksiranje niza, učinkovito odpravi celo indeksne izraze brez spreminjanja samih indeksov. Faktor "(-1) ^ n" omogoča spreminjanje znaka zaporednih izrazov. Ta matematična lekcija se morda zdi nenavadna, vendar bo Pythonova koda veliko lažje pisati in ponovno uporabljati v drugih serijah, če se indeks vedno začne pri 0 in se poveča za 1.
-
Odprite tolmač Python. Začnite z vnosom naslednjih ukazov za definiranje spremenljivk:
vsota = 0x = .5236
Vsota spremenljivke se uporabi za zbiranje vsote Taylorjevih serij z vsako ponovitvijo izraza izračun. Spremenljivka "x" je kot (v radianih), do katerega želite približati sinusno funkcijo. Če želite, nastavite drugo vrednost.
-
Uvozite modul "math" z uporabo spodnjega ukaza, da pridobite dostop do "pow" (moč) in "faktorialnih" (faktorskih) funkcij:
uvozno matematiko
-
Odprite zanko "za", s katero določite količino interakcij s funkcijo "območje":
za n v območju (4):
To bo povzročilo, da bo spremenljivka indeksa n začela pri 0 in se povečala na 4. To zmanjšano število iteracij bo povzročilo presenetljivo natančen rezultat. Zanka se ne bo izvajala takoj in se ne bo zagnala, dokler ne podate bloka kode za ponovitev.
-
Vnesite naslednji ukaz, da akumulirate vrednost vsakega zaporednega izraza v spremenljivko "vsota":
sum + = math.pow (-1, n) / math.factorial (2n + 1)math.pow (x, 2 * n + 1)
Ukaz mora imeti pred njim prazen prostor, ki kaže, da je Python del zanke "za". Upoštevajte tudi, da se funkcije "pow" in "factorial" uporabljata namesto notacije "^" in "!". Formula desno od operaterja dodelitve "+ =" je enaka kot pri koraku 2, vendar je napisana s sintakso Python.
-
Pritisnite "Enter", da dodate prazno vrstico. Python bo to interpretiral kot konec zanke "za" in izvedel izračune. Vnesite ukaz "sum", da prikažete rezultat. Za vrednost "x", podano v 3. koraku, bo rezultat zelo blizu .5, sinusna vrednost pi / 6. Poskusite znova z različnimi vrednostmi za "x" in za različno število ponovitev zanke in rezultate primerjajte s funkcijo "math.sin (x)". Pravkar ste v Python implementirali isti proces, ki ga mnogi računalniki uporabljajo za izračun vrednosti za sinusne in druge transcendentalne funkcije.
Kako
- Pustite presledek in vnesite ukaz "sum" v drugo vrstico zanke "for", tako da se prikaže rezultat izvedbe kode. To bo pokazalo, kako se vsak zaporedni izraz v seriji približa plus in minus dejanske vrednosti funkcije.