Kako napisati Taylor serijo s Pythonom

Avtor: Marcus Baldwin
Datum Ustvarjanja: 17 Junij 2021
Datum Posodobitve: 1 Julij. 2024
Anonim
Как развиваться, если ты Senior или Lead? Интервью с Павел Вейник: так растут разработчики.
Video.: Как развиваться, если ты Senior или Lead? Интервью с Павел Вейник: так растут разработчики.

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)
  1. 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.

  2. 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.

  3. 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.

  4. Uvozite modul "math" z uporabo spodnjega ukaza, da pridobite dostop do "pow" (moč) in "faktorialnih" (faktorskih) funkcij:


    uvozno matematiko

  5. 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.

  6. 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.

  7. 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.