• Register

Sheme za numerično odvajanje

+7 votes
95 views

Pozdravljeni!

Če imamo na primer fizikalni pojav (npr nihanje) 

{\frac {\mathrm {d} ^{2}x}{\mathrm {d} t^{2}}}+2\zeta \omega _{0}{\frac {\mathrm {d} x}{\mathrm {d} t}}+\omega _{0}^{\,2}x=0,

z nekimi začetnimi pogoji (hitrost in faza), lahko to gibanje aproksimiramo z najbolj preprostima numeričnima shemama:

 - za 2. odvod, kjer imamo opravka s pospeškom

 - za 1. odvod, kjer imamo opravka s hitrostjo

Če pogledamo shemo za 2. odvod, lahko vidimo, da sta v enačbi 2 neznanke in sicer:

f''(x)\approx {\frac {\delta _{h}^{2}[f](x)}{h^{2}}}={\frac {f(x+h)-2f(x)+f(x-h)}{h^{2}}}.

Torej, ko v preprosto enačbo nihanja vstavimo numerične sheme, dobimo eno enačbo z dvema neznankama in sicer vrednost enačbe v "točki nazaj - f(x-h)" ter vrednost v "točki naprej - f(x+h)"

Zanima me, kako bi se lahko lotil reševanja? Ali za celo časovno domeno napišeš enačbe in nastaviš matrike?

asked Dec 1, 2016 by aljazjelen (11,160 points)

1 Answer

+4 votes
 
Best answer

Na vašem mestu bi uporabil metoda za reševanje navadnih diferencialnih enačb (začetni problem). Glejte predavanje 12.

V osnovi gre tudi pri teh metodah za uporabo končnih razlik oz. Taylorjeve vrste do nekega člena, vendar so izpeljane točno za tip problema, ki ga omenjate (navadne diferencialne enačbe z začetnim problemom).

Omenjene probleme lahko rešujete z vgrajeno funkcijo `scipy.integrate.odeint` ali `scipy.integrate.ode`.

answered Dec 2, 2016 by blaz (41,760 points)
selected Dec 2, 2016 by aljazjelen
...