Како написати Таилор серију у Питхон-у

Тејлоров ред је репрезентација функције која користи бесконачан збир. Рачунари често праве апроксимације вредности тригонометријског, експоненцијалног или другог трансценденталног функцију сабирањем коначног броја чланова њеног Тејлоровог реда, и можете поново креирати овај процес у Питхон. Термини збира су засновани на узастопним дериватима функције, тако да ћете морати да идентификујете образац у вредностима тих извода да бисте написали формулу за сваки члан серије. Затим користите петљу да акумулирате збир, контролишући тачност ваше апроксимације са бројем итерација петље.

Корак 1

Погледајте дефиницију Тејлоровог низа да бисте разумели како се сваки термин може израчунати. Сваки члан серије је индексиран, обично са "н", а његова вредност је повезана са н-тим изводом функције која се представља. Ради једноставности, користите 0 за вредност "а" у свом првом покушају. Ова специјална верзија Тејлор серије се зове Маклорин серија. Покушајте са синусном функцијом, пошто је њене узастопне деривате лако одредити.

Видео дана

Корак 2

Запишите неколико вредности н-тог извода синусне функције процењене на 0. Ако је н 0, вредност је 0. Ако је н 1, вредност је 1. Ако је н 2, вредност је 0. Ако је н 3, вредност је -1. Одавде се образац понавља, тако да занемарите сваки парно индексирани члан Тејлорове серије пошто је помножен са 0. Формула за сваки члан резултујуће серије је:

(-1)^н/(2н+1)!*к^(2н+1)

„2н+1“ се користи уместо „н“ за поновно индексирање серије, ефективно одбацујући парно индексиране термине без промене самог индекса. Фактор (-1)^н објашњава смењивање позитивних и негативних узастопних чланова. Овај прелиминарни математички рад може изгледати сувишно, али ће Питхон код бити далеко лакши за писање и поновну употребу на другим Тејлоровим серијама ако индекс увек почиње од 0 и броји навише у корацима од 1.

Корак 3

Отворите Питхон интерпретер. Почните тако што ћете укуцати следеће команде да бисте дефинисали неколико променљивих:

збир = 0 к = .5236

Варијабла "сума" ће се користити за акумулацију збира Тејлоровог низа како се сваки термин израчунава. Променљива "к" је угао (у радијанима) за који желите да апроксимирате синусну функцију. Поставите на шта год желите.

Корак 4

Увезите модул „математика“ следећом командом тако да имате приступ функцијама „пов“ и „факторијални“:

импорт матх

Корак 5

Покрените петљу „фор“, постављајући број итерација са функцијом „ранге“:

за н у опсегу (4):

Ово ће довести до тога да променљива индекса, н, почиње од нуле и броји до 4. Чак и овај мали број итерација ће дати изненађујуће тачан резултат. Петља се не извршава одмах и неће почети све док не наведете цео блок кода за понављање.

Корак 6

Унесите следећу команду да бисте додали вредност сваког узастопног термина у „сум:“

збир += матх.пов(-1,н)/матх.фацториал (2*н+1)*матх.пов (к, 2*н+1)

Приметите да је команда увучена табулатором, што Питхон-у указује да је део „фор“ петље. Такође имајте на уму како се "пов" и "фацториал" користе уместо "^" и "!" нотација. Формула десно од оператора доделе „+=" је идентична оној у кораку 2, али је написана у Питхон синтакси.

Корак 7

Притисните "Ентер" да додате празан ред. За Питхон, ово указује на завршетак петље „фор“, тако да се израчунавање извршава. Унесите команду "сум" да бисте открили резултат. Ако сте користили вредност к дату у кораку 3, резултат је веома близу .5, синус од пи/6. Пробајте процес поново за различите вредности к и за различит број итерација петље, проверавајући своје резултате са функцијом "матх.син (к)". У Питхон сте имплементирали процес који многи рачунари користе за израчунавање вредности за синус и друге трансцендентне функције.

Савет

Увуците и откуцајте команду "сум" у другом реду петље "фор" да бисте добили текући збир суме док се код извршава. Ово открива како сваки узастопни члан серије приближава збир стварној вредности функције.