Cum se scrie o serie Taylor cu Python

Autor: Morris Wright
Data Creației: 2 Aprilie 2021
Data Actualizării: 11 Mai 2024
Anonim
creating exp(x) function using just python
Video: creating exp(x) function using just python

Conţinut

O serie Taylor reprezintă reprezentarea unei funcții prin intermediul unei sume infinite. Computerele aproximează în general valorile unei funcții trigonometrice, exponențiale sau a altor funcții transcendente prin intermediul unui număr finit de termeni din seria Taylor corespunzătoare și puteți recrea acest proces în Python. Termenii sumei se bazează pe derivate succesive ale funcției și, prin urmare, trebuie să identificați un model în valorile lor pentru a scrie o formulă pentru fiecare termen din serie. Apoi, veți folosi o buclă pentru a acumula suma, controlând precizia aproximării dvs. cu numărul de iterații.


instrucțiuni de ghidare

Abordarea unei serii Taylor în Python (Hemera Technologies / AbleStock.com / Getty Images)
  1. Consultați definiția seriei Taylor pentru a înțelege modul în care poate fi calculat fiecare termen. Fiecare este indexată, de obicei cu "n", iar valoarea sa se referă la derivatul ordinii "n" a funcției care urmează a fi reprezentată. Pentru simplitate, folosiți 0 pentru valoarea "a" la prima încercare. Această versiune specială a seriei Taylor este numită "seria MacLaurin". Utilizați funcția "sine", deoarece derivatele succesive sunt ușor de determinat.

  2. Scrieți mai multe valori ale derivatului "n" al funcției sinusoidale evaluate la 0. Dacă "n" este egal cu 0, valoarea va fi 0. Pentru n = 1, valoarea va fi 1. În cazul n = 2, valoarea va fi 0. Când n = 3, valoarea va fi -1. Modelul se repetă de aici, pentru a elimina toți termenii numiți în seria Taylor, deoarece va fi înmulțit cu 0. Formula pentru fiecare termen din seria rezultată va fi:


    (1n) 2n + (2n + 1)

    Dacă se folosește "2n + 1" în loc de "n" pentru a reindexa seria, eliminând efectiv termenii indexului chiar fără a schimba indecșii înșiși. Factorul "(-1) ^ n" permite schimbarea semnului termenilor succesivi. Această lecție de matematică poate părea ciudată, dar codul Python va fi mult mai ușor de scris și reutilizat în alte serii dacă indicele întotdeauna începe la 0 și este incrementat cu 1.

  3. Deschideți interpretul Python. Începeți prin introducerea următoarelor comenzi pentru a defini variabilele:

    suma = 0x = .5236

    Variabila sumă va fi utilizată pentru a acumula suma seriei Taylor cu fiecare iterație a calculului termenului. Variabila "x" este unghiul (în radiani) la care doriți să aproximați funcția sinusoidală. Setați o altă valoare dacă doriți.

  4. Importați modulul "matematică", folosind comanda de mai jos, pentru a avea acces la funcțiile "pow" (power) și "factorial" (factorial):


    import matematică

  5. Deschideți o buclă "pentru", stabilind cantitatea de interacțiuni cu funcția "interval":

    pentru n în intervalul (4):

    Aceasta va determina variabila index, n, să înceapă la 0 și să fie incrementată la 4. Această sumă redusă de iterații va determina un rezultat surprinzător de precis. Bucla nu va fi executată imediat și nu va începe până când nu specificați blocul de cod pentru a repeta.

  6. Introduceți următoarea comandă pentru a acumula valoarea fiecărui termen succesiv la variabila "sumă":

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

    Comanda trebuie să aibă un spațiu înaintea ei pentru a indica Python-ului că face parte din bucla "pentru". Rețineți, de asemenea, că funcțiile "pow" și "factorial" sunt utilizate în locul notațiilor "^" și "!". Formula din dreapta operatorului de atribuire "+ =" este identică cu cea din pasul 2, dar scrisă cu sintaxa Python.

  7. Apăsați "Enter" pentru a adăuga o linie goală. Python va interpreta acest lucru ca sfârșitul bucla "pentru" și va efectua calculele. Introduceți comanda "sumă" pentru a afișa rezultatul. Pentru valoarea "x" dată în pasul 3, rezultatul va fi foarte apropiat de 0,5, valoarea sinusului pi / 6. Încercați din nou cu valori diferite pentru "x" și pentru un număr diferit de iterații ale buclă și comparați rezultatele cu funcția "math.sin (x)". Tocmai ați implementat în Python același proces pe care mulți computere îl folosesc pentru a calcula valorile pentru funcțiile sinusoidale și celelalte funcții transcendente.

sfaturi

  • Lăsați un spațiu și introduceți comanda "sumă" pe a doua linie a bucla "pentru", astfel încât rezultatul executării codului să fie afișat. Aceasta va arăta modul în care fiecare termen succesiv din serie aproximează plusul și minusul valorii reale a funcției.