Kā uzrakstīt Teilora sēriju Python

click fraud protection

Teilora sērija ir funkcijas attēlojums, izmantojot bezgalīgu summu. Datori bieži veic trigonometrisko, eksponenciālo vai citu pārpasaulīgo vērtību tuvinājumus funkciju, summējot ierobežotu skaitu tās Teilora sērijas nosacījumu, un jūs varat atkārtoti izveidot šo procesu Python. Summas nosacījumi ir balstīti uz secīgiem funkcijas atvasinājumiem, tāpēc jums būs jāidentificē šo atvasinājumu vērtību modelis, lai katram sērijas terminam uzrakstītu formulu. Pēc tam izmantojiet cilpu, lai uzkrātu summu, kontrolējot tuvinājuma precizitāti ar cilpas iterāciju skaitu.

1. darbība

Skatiet Teilora sērijas definīciju, lai saprastu, kā katrs termins var tikt aprēķināts. Katrs sērijas vārds ir indeksēts, parasti ar "n", un tā vērtība ir saistīta ar attēlotās funkcijas n-to atvasinājumu. Vienkāršības labad pirmajā mēģinājumā izmantojiet "a" vērtību 0. Šo Taylor sērijas īpašo versiju sauc par Maclaurin sēriju. Izmēģiniet sinusa funkciju, jo tās secīgos atvasinājumus ir viegli noteikt.

Dienas video

2. darbība

Pierakstiet vairākas sinusa funkcijas n-tā atvasinājuma vērtības, kas novērtētas ar 0. Ja n ir 0, vērtība ir 0. Ja n ir 1, vērtība ir 1. Ja n ir 2, vērtība ir 0. Ja n ir 3, vērtība ir -1. No šejienes modelis atkārtojas, tāpēc neņemiet vērā katru Teilora sērijas pāra indeksu, jo tas tiek reizināts ar 0. Katra iegūtās sērijas termina formula ir šāda:

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

"2n+1" tiek izmantots "n" vietā, lai atkārtoti indeksētu sēriju, efektīvi atmetot pāra indeksētos vienumus, nemainot pašu indeksu. Koeficients (-1)^n nosaka secīgu terminu pozitīvo un negatīvo maiņu. Šis sākotnējais matemātikas darbs varētu šķist svešs, taču Python kodu būs daudz vieglāk rakstīt un atkārtoti izmantot citās Teilora sērijās, ja indekss vienmēr sākas ar 0 un tiek skaitīts uz augšu ar soli 1.

3. darbība

Atveriet Python tulku. Sāciet, ierakstot šādas komandas, lai definētu vairākus mainīgos:

summa = 0 x = .5236

Mainīgais "summa" tiks izmantots, lai uzkrātu Teilora sērijas summu, kad tiek aprēķināts katrs termins. Mainīgais "x" ir leņķis (radiānos), kuram vēlaties tuvināt sinusa funkciju. Iestatiet to, kas jums patīk.

4. darbība

Importējiet "matemātikas" moduli ar šādu komandu, lai jums būtu piekļuve "pow" un "factorial" funkcijām:

importēt matemātiku

5. darbība

Sāciet cilpu "for", iestatot iterāciju skaitu ar funkciju "range":

n diapazonā (4):

Tādējādi indeksa mainīgais n sāksies no nulles un tiks skaitīts līdz 4. Pat šis nelielais atkārtojumu skaits dos pārsteidzoši precīzu rezultātu. Cilpa netiek izpildīta nekavējoties un nesāksies, kamēr nebūsit norādījis visu koda bloku, kas jāiterē.

6. darbība

Ierakstiet šo komandu, lai pievienotu katra secīgā vārda vērtību "summai:"

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

Ievērojiet, ka komandai ir atkāpe ar cilni, kas norāda Python, ka tā ir daļa no cilpas "for". Ņemiet vērā arī to, kā "^" un "!" vietā tiek lietoti "pow" un "factorial" apzīmējums. Formula, kas atrodas pa labi no piešķiršanas operatora "+=", ir identiska 2. darbības formulai, taču tā ir rakstīta Python sintaksē.

7. darbība

Nospiediet "Enter", lai pievienotu tukšu rindiņu. Python tas norāda uz "for" cilpas pārtraukšanu, tāpēc aprēķins tiek izpildīts. Ievadiet komandu "summa", lai atklātu rezultātu. Ja izmantojāt 3. darbībā norādīto x vērtību, rezultāts ir ļoti tuvu 0,5 — pi/6 sinusam. Izmēģiniet procesu vēlreiz ar dažādām x vērtībām un dažādu cilpas iterāciju skaitu, pārbaudot rezultātus, salīdzinot ar funkciju "math.sin (x)". Jūs programmā Python esat ieviesis pašu procesu, ko daudzi datori izmanto, lai aprēķinātu sinusa un citu pārpasaulīgo funkciju vērtības.

Padoms

Cilpas "for" otrajā rindā ierakstiet atkāpi un ierakstiet komandu "sum", lai koda izpildes laikā iegūtu kopējo summu. Tas atklāj, kā katrs nākamais sērijas vārds tuvina summu un tuvina funkcijas faktiskajai vērtībai.