Matlab Hogyan - Hidrodinamikai Rendszerek Tanszék
Matlab Hogyan - Hidrodinamikai Rendszerek Tanszék
Matlab Hogyan - Hidrodinamikai Rendszerek Tanszék
Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
9. fejezet<br />
Közönséges differenciálegyenletek<br />
(ODE) megoldása<br />
Amennyiben közönséges differenciálegyenleteket szeretnénk numerikusan megoldani, az első lépés mindenképpen<br />
az, hogy elsőrendű alakra kell átírni az ún. Cauchy-átírással. Ez általánosan úgy történik, hogy ha adva van<br />
a<br />
d (n) z<br />
(<br />
)<br />
dx n = G x; z (n−1) , z (n−2) , . . . , z<br />
függvény, akkor új változókat vezetünk be: y 1 = z, y 2 = z ′ = z (1) , y 3 = z ′′ = z (2) ,...,, y n−1 = z (n−1) . Így<br />
megoldandó a<br />
⎛ ⎞ ⎛<br />
⎞<br />
y 1 F 1 (x; y 1 , y 2 , . . . , y n )<br />
d<br />
y 2<br />
⎜ ⎟<br />
dx ⎝ . ⎠ = F 2 (x; y 1 , y 2 , . . . , y n )<br />
⎜<br />
⎟<br />
⎝ . ⎠<br />
y n F n (x; y 1 , y 2 , . . . , y n )<br />
közönséges differenciálegyenlet rendszer (a Cauchy-átírás a példákon keresztül könyebben megérthető). Kezdeti<br />
érték feladatról beszélünk, ha az y(x 0 ) = ( y 0 1 , y0 2 , . . . , y0 n)<br />
kezdeti értékből kiindulva kíváncsiak vagyunk<br />
y(x 1 ) értékére. Peremérték feladatról beszélünk, ha y(x 0 ) mellett elő van írva y(x 1 ) is, ekkor azonban a megoldás<br />
létezéséhez általában meg kell adni a DE-ben egy szabad paramétert is. A DE jobb oldalához tartozó<br />
Jacobi mátrix elemeit következőképpen számíthatjuk:<br />
J ij = ∂F i(x; y 1 , y 2 , . . . , y n )<br />
∂y j<br />
ahol i, j = 1 . . . n.<br />
9.1. Kezdeti érték feladatok (IVP)<br />
A megoldó szintaktikája a következő:<br />
[t,y] = megoldó(odefun,tspan,y0,options)<br />
ahol megoldó a numerikus módszert jelöli, odefun a DE jobb oldalát meghatározó függvényt, tspan vektor<br />
a megoldás intervallumát ([x_eleje x_vége]), y0 a kezdeti feltételek vektora és options a nem kötelező,<br />
esetleges további beállításokat tartalmazza.<br />
A numerikus megoldók az alábbiak lehetnek:<br />
30