Eötvös Loránd Tudományegyetem Természettudományi Kar Közönséges differenciálegyenletek numerikus megoldása Szakdolgozat Soós Ivett Matematika B.Sc., Matematikai elemz szakirány Témavezet : Mincsovics Miklós Alkalmazott Analízis és Számításmatematikai Tanszék Budapest 2010
Tartalomjegyzék 1. Bevezet 2 2. Dierenciálegyenletek 3 2.1. A dierenciálegyenletek típusai..................... 3 2.2. A közönséges dierenciálegyenletek általános alakja............................. 3 2.2.1. A KDE típusai.......................... 4 2.3. A dierenciálegyenletek stabilitása................... 5 2.3.1. Stabilitási alapfogalmak..................... 5 2.3.2. Példa................................ 6 2.4. Dierenciálegyenletek a gyakorlatban.................. 6 2.4.1. Példa 1.............................. 6 2.4.2. Példa 2.............................. 7 2.5. A dierenciálegyenletek megoldhatósága................ 8 2.6. A megoldandó probléma:....................... 9 3. Numerikus módszerek 10 3.1. A numerikus módszerek "jósága".................... 11 3.1.1. A numerikus módszerek hibája................. 11 3.1.2. Numerikus módszerek konvergenciája.............. 11 3.1.3. A konvergencia rendje...................... 12 3.1.4. Numerikus módszerek 0-stabilitása............... 12 3.1.5. Numerikus módszerek konzisztenciája.............. 12 4. A legegyszer bb megoldások 13 4.1. Az explicit Euler módszer........................ 13 1
4.1.1. Példa................................ 15 4.1.2. A hibaegyenlet.......................... 16 4.1.3. Az explicit Euler módszer konzisztenciája........... 17 4.1.4. Az Euler módszer lokális hibája................. 17 4.1.5. Az Euler módszer 0-stabilitása.................. 18 4.1.6. A "jó" lépésköz megválasztása.................. 18 4.1.7. A teszt egyenlet.......................... 19 4.1.8. Abszolút stabilitás........................ 19 4.1.9. A-stabilitás............................ 19 4.1.10. Az explicit Euler módszer abszolút stabilitási tartománya... 20 4.1.11. A módszer hiányosságai..................... 21 4.2. Az implicit Euler módszer........................ 21 4.2.1. Az implicit Euler módszer konzisztenciája........... 22 4.2.2. Az implicit Euler módszer abszolút stabilitási tartománya.. 22 4.2.3. Merev dierenciálegyenletek................... 23 4.2.4. Példa................................ 24 4.2.5. Az implicit Euler módszer el nyei és hátrányai......... 25 4.3. Szimmetrikus/ trapéz módszer...................... 26 4.3.1. A szimmetrikus módszer konzisztenciája............ 26 4.3.2. A trapéz módszer abszolút stabilitási tartománya....... 26 5. Runge-Kutta típusú módszerek 28 5.1. A kvadratúra formulák.......................... 28 5.1.1. A javított Euler módszer lokális hibája............. 29 5.1.2. Az RK módszerek 0-stabilitása................. 31 5.2. Az implicit Runge-Kutta módszerek................... 32 5.2.1. Az implicit formula el nyei és hátrányai............ 32 5.3. Az explicit Runge-Kutta formulák.................... 32 5.3.1. Az els rend Runge-Kutta formulák.............. 32 5.3.2. A megoldhatóság feltételei.................... 33 5.3.3. A másodrend Runge-Kutta formulák............. 33 5.3.4. Példák másodrend formulákra................. 34 5.3.5. Harmadrend RK formulák................... 34 5.3.6. A klasszikus negyed rend Runge-Kutta formula........ 34 2
5.3.7. Az explicit Runge-Kutta módszer abszolút stabilitási tartománya 35 5.3.8. RK módszerek összehasonlítása................. 36 6. Összefoglalás 38 3
1. fejezet Bevezet "Bár napjaink matematika könyveiben szinte hemzsegnek az absztrakt szimbólumok, ez azonban éppúgy nem jelenti a matematika lényegét, mint ahogy a zene valódi mibenléte sem a hangjegyek jelölésrendszerében keresend." Keith Devlin A témaválasztásban számomra fontos szerepe volt annak, hogy a matematika olyan területével foglalkozzak, mely közvetlen kapcsolatban áll a gyakorlati problémák megoldásával. A dierenciálegyenletek a tudomány szinte minden területén jelen vannak, ezért a megoldhatóságuk nagyon fontos szerepet tölt be mindennapjainkban. Ám a legtöbb esetben ezeket nem olyan egyszer kiszámítani. Ahogy az idézetben is szerepel, a matematika lényege az ehhez hasonló problémák megoldása, ennek ellenére a következ néhány oldal sem fog sz kölködni "absztrakt szimbólumokban". 4
2. fejezet Dierenciálegyenletek 2.1. A dierenciálegyenletek típusai Egy dierenciálegyenlet egy függvény és annak dierenciáltja közötti kapcsolatot mutatja meg. Ezek az összefüggések sok esetben a tudomány egyéb területein felmerül problémák matematikai modelljei. Ezek a modellek a gyakorlatban igen hasznosak, ám elég összetettek is ahhoz, hogy a megoldásuk egzakt legyen. Legyen szó zikai, biológiai, vagy közgazdaságtani problémáról, biztosan függenek az id t l, vagy esteleg egy másik változó paramétert l, tehát a dierenciálegyenletek olyan folyamatokat írnak le, melyek nem diszkrét lépésekben zajlanak. A dierenciálegyenleteknek két f típusa van, nevezetesen 1. Közönséges dierenciálegyenletek 2. Parciális dierenciálegyenletek A f különbség e két típus között az, hogy a közönséges dierenciálegyenletekben (KDE) az ismeretlen egyváltozós, a parciális dierenciálegyenletknél pedig többváltozós ismeretlent keresünk. A továbbiakban a közönséges dierenciálegyenletekkel fogunk foglalkozni. 2.2. A közönséges dierenciálegyenletek általános alakja Nézzük meg el ször az els rend explicit KDE általános alakját. 5
2.2.1. Megjegyzés. A dierenciálegyenlet rendje a legmagasabb derivált rendje. x (t) = f(t, x(t)) ahol f : R R n adott függvény, és az ismeretlenünk pedig x : R R n. 2.2.2. Deníció. Legyen F : R n+2 R függvény. Az n-ed rend közönséges dierenciálegyenlet általános alakja: F (t, x(t), x (t)... x (n) (t)) = 0 Legyen f : R n+1 R adott. Az n-ed rend explicit közönsége dierenciálegyenlet általános alakja x (n) (t) = f(t, x(t), x (t)... x (n 1) (t)) 2.2.1. A KDE típusai A közönséges dierenciálegyenleteket két nagy csoportra oszthatjuk: lineáris és nemlineáris. Ez a megoldhatóság szempontjából igen fontos, hiszen a nemlineáris egyenletek pontos megoldására nincs bevett módszer, és a közelít megoldások kiszámítása is komplikáltabb. A lineáris dierenciálegyenletek újabb két nagy csoportra oszthatók. Legyen a lineáris els rend KDE általalános alakja: y (t) = A(t)y(t) + b(t) Két esetet küönböztetünk meg: 1. ha A(t) nem függ t-t l, azaz konstans, így az egyenlet állandó együtthatós 2. ha A(t) függ t-t l, azaz az egyenlet változó együtthatós Az els esetben létezik egzakt megoldási módszer, de legtöbbször csak nagy nehézségek árán tudjuk meghatározni a pontos megoldást. A második esetre nincs olyan bevett módszer, mellyel kiszámíthatnánk a pontos értékeket. 2.2.3. Megjegyzés. A dierenciálegyenlet típusa, és megoldhatóságának nehézsége, nyílván a közelít megoldások pontosságát is befolyásolja. 6
2.3. A dierenciálegyenletek stabilitása 2.3.1. Stabilitási alapfogalmak A stabilitáselméleti alapfogalmak szemléltetésére tekintsük meg el ször az alábbi egyszer zikai példát. Képzeljünk el egy golyót az alábi 3 egyensúlyi helyzetben: 1. egy gödör alján 2. egy domb tetején 3. egy vízszintes sík felületen Mindhárom helyzetben egyensúlyban van a golyó (ha nem mozdítjuk meg, helyben marad), azonban ha kicsit elmozdítjuk, majd elengedjük, akkor mindhárom esetben más történik. Az els esetben a golyó visszagurul a gödör aljára. Ezt az egyensúlyi helyzetet nevezzük asszimptotikusan stabilisnak. A második esetben a golyó legurul a domboldalon, egyre jobban eltávolodik az eredeti helyzetét l. Ezt az egyensúlyi helyzetet nevezzük instabilisnak. A harmadik esetben a golyó ott marad az elmozdítás helyén, azaz nem tér vissza az eredeti helyzetébe, de nem is távolodik el onnan. Ezt az egyensúlyi helyzetet nevezzük stabilisnak. Nézzük meg egy példa segítségével, hogy mit is jelentenek ezek a fogalmak a dierenciáálegyenletek megoldásainak körében. 7
2.3.2. Példa Legyen y (t) = λy, dierenciálegyenlet, y(0) = y 0 kezdetiérték feltétetellel. Ha ezt az egyenltet integráljuk, akkor az y(t) = e λt y 0 egyenletet kapjuk megoldásként. Nézzük meg milyen egyensúlyi állapotok állnak fenn λ < 0, λ > 0, illetve λ = 0 esetekben. 1. λ < 0 esetben, ha t +, akkor a megoldás határétéke 0, így minden megoldás a 0 egyensúlyi ponthoz közeledik. Ez egy asszimptotikusan stabilis egyensúlyi helyzet. 2. λ > 0 esetben, ha t +, akkor a megoldás határértéke ±, azaz minden 0-tól különböz kezdetiérték feltételnek eleget tev megoldás távolodik 0 egyensúlyi ponttól. Ebben az estben az 0 egyensúlyi pont instabilis. 3. λ = 0 esetben a megoldások konstans függvények, azaz nem is közelednek és nem is távolodnak a 0 egyensúlyi ponttól, azaz a megoldás stabilis. 2.4. Dierenciálegyenletek a gyakorlatban A dierenciálegyenletek általában akkor jutnak szerephez, amikor olyan folyamatot próbálunk modellezni, mely nem diszkrét lépésekben zajlik (mint mondjuk egy sakkjátszma), hanem az id ben folyamatosan változnak az állapotjelz k értékei. Ilyen esetekben vagy meggyelések utalnak egy mennyiség és megváltozásának kapcsolatára, vagy feltételeznek egy elméleti relációt a jellemz k között. Például a természetben populációk növekedésének üteme általában függ magától a populáció nagyságától. Nézzünk egy ilyen példat a gyakorlatban. 2.4.1. Példa 1 Legyen x(t) a populáció mérete t id pontban. Most azt fogjuk megvizsgálni, hogy egy adott id intervallumban, milyen mértékkel n a populáció mérete: x(t + h) x(t) h x(t) a 8
Ebben a modellben nem számolunk a halálozással, csupán a szület utódok számát vesszük gyelembe. Az eltelt id t h-val jelöljük, a-val pedig annak a változásnak a mértékét (arányát), mely a növekv populáció következtében a szület utódok számának növekedését mutatja. A fenti egyenletet átrendezve az alábbi dierenciálegyenletet kapjuk x(t + h) x(t) = a x(t) h lim h 0 x (t) = a x(t) Tehát, ha ezt az egyenletet kiintegráljuk, akkor az alábbi megoldáshoz jutunk: x(t) = e at x 0 Ez az egyenlet azonban csak akkor ad reális eredményt, ha kis id intervallumokat vizsgálunk Ha hosszú távon szeretnénk populációs modelleket vizsgálni, akkor sajnos ennél egy jóval bonyulultabb egyenletre lesz szükségünk. Például, olyan a-t választunk arányossági tényez nek, mely függ x(t)-t l is. Például a = r (K x(t)), ahol r ismét egy arányossági tényez, K pedig az eltartó képesség, azaz, hogy egy adott terület egy adott populációnak hány tagját képes "eltartani". Sajnos az ilyen típusú egyenletek már jóval nagyobb m veletigénnyel bírnak, mint azt az el z egyszer példában láthattuk. 2.4.2. Példa 2 Ugyancsak a populáció növekedését leíró folyamat, az úgynevezett "róka-nyúl" modell, ahol már nem csak egy populáció nagyságánának a változását vizsgáljuk, hanem azt, hogy ha egy területen két különböz faj él, akkor hogyan alakul a populációk mérete. Jelöljük a rókák számát a t id pntban y(t)-vel, a nyulakét x(t)-vel, a, b, c, d számok pedig pozitív konstansok. x (t) = a x(t) b x(t)y(t) y (t) = c x(t)y(t) d y(t) Azaz minden egyes találkozási pontnál, a nyulak száma csökken, illetve a rókák száma "n ", azaz az egyed fejl dik a tápláléktól. Természetesen itt is gyelembe vehetünk még több paramétert, például, hogy a populációk növekedése milyen tényez kt l függ stb., amik tovább nehezítik az egyenlet megoldhatóságát. 9
2.5. A dierenciálegyenletek megoldhatósága 2.5.1. Deníció. Kezdetiérték feltétel fogalma: Legyen y (t) = f(t, y(t)) egy dierenciálegyenlet. Legyen t 0 R, p 0 R n. Egy y megoldás teljesíti az y(t 0 ) = p 0 kezdeti feltételt, ha átmegy a (t 0, p 0 ) ponton. 2.5.2. Tétel. Egy kezdetiérték feladatnak létezik egyértelm megoldása, ha az f : R n+1 R n folytonos függvény a 2, 3,... n + 1 -edik változójában Lipschitz folytonos. Tehát a tételb l biztosan tudjuk, hogy az adott egyenlet megoldható, ám a differenciálegyenleteket kielégít megoldásfüggvények csak a legegyszer bb esetekben fejezhet k ki zárt alakban. Sok esetben szükségtelen is kiszámolni a konkrét megoldásokat, sokkal többet tudhatunk meg a folyamatokról, ha a megoldások kapcsolatait vizsgáljuk. Más esetben szükséges kiszámítani a megoldás konkrét értékeit. Mindkét feladatra számítógépes módszereket használnak, az els inkább kvalitatív, míg a második kvantitatív eredményt szolgáltat. A dierenciálegyenletek megoldási módszereit három nagy csoportba sorolhatjuk, és ebb l a három csoportból mindössze csak egy tartalmazza a pontos megoldások kiszámítását. 1. Analitikus megoldási módszerek Ezek a megoldási módszerek a dierenciálegyenlet pontos megoldásának kiszámítására alkalmasak. A probléma csak az, hogy a dierenciálegyenlteknek csupán egy kis szeletét adják azok a típusok, melyeknek ismerjük a megoldási módszerét, s t, ha ismerünk is ilyen módszert, a megoldás kiszámítása sok esetben igen költséges. Így más eszközöket kell keresnünk a megoldás kiszámításához, illetve közelítéséhez. 2. Kvázianalitikus módszerek Ebbe a kategóriába a Banach xponttételen alapuló iterációs megoldási módszerek tartoznak, ahol y (t) = f(t, y(t)) y(t 0 ) = y 0 10
kezdetiérték problémát a következ integrálegyenletté írjuk át: y(t) = y(t 0 ) + t t y (s)ds = y 0 + f(s, y(s))ds t 0 t 0 Ekkor a következ közelít módszerrel készítünk egy iterációs eljárást, azaz egy y 1, y 2... sorozatot, ahol az n + 1-edik tag a következ képpen néz ki: y n+1 (t) = y 0 (t) + t t 0 f(s, y n (s))ds Csakhogy a xpont közelít eljárást minden lépésben közelít integrálással kell kombinálni, ezért a megoldásunk végül nem egy intervallumon értelmezett függvény lesz, hanem ennek egy diszkretizált alakja. 3. Numerikus módszerek A numerikus módszerek már elég nagy csoportot ölelnek fel. Ezekr l részletesen olvashatunk a következ fejezetekben. 2.6. A megoldandó probléma: Legyen f : R n+1 R n, olyan folytonos függvény, mely a 2, 3,... n + 1 -edik változójában Lipschitz folytonos. Továbbá legyen u 0 R n vektor adott. Keressük meg azt az u : I R n dierenciálható függvényt, amelyre igaz, hogy u (t) = f(t, u(t)) (2.1) u(0) = u 0 (2.2) kezdeiérték feltétel mellett. 11
3. fejezet Numerikus módszerek A numerikus megoldási módszereknek két f bb osztálya van: az egy- és a többlépéses módszerek. Az alapvet különbség az, hogy az egylépéses módszerek csupán egy "lépcs t" használnak fel a már meglév n 1 darabból, azaz y n kiszámításához mindössze az y n 1 közelítést veszi segítségül. Ezzel szemben a többlépéses módszerek az n-edik közelítéshez legalább 2, és legfeljebb n 1 lépcs t használnak. Az alábbi fejezetekben az egylépéses numerikus módszerek struktúráját, el nyeit és hátrányait fogom bemutatni. Egy adott módszer attól lesz diszkrét, hogy a közelít megoldásokat véges sok pontban keressük. A numerikus módszerek esetében, egy adott [0, b] intervallum t 0 <... < t N ekvidisztáns felosztását tekintjük. Nézzük meg részletesen, hogyan is épül fel egy numerikus módszer. Legyen u (t) = f(t, u(t)) u(0) = u 0 kezdeiérték feltétellel. Koordinántánként felírva u i(t) = f i (t, u 1 (t),... u n (t)) u i (0) = u i0 Keressük az u(t) = [u 1 (t), u 2 (t)... u n (t)] vekort. Tegyük most fel, hogy n = 1, azaz u (t) = f(t, u(t)) f : R 2 R, és keressük az u(t) : I R függvényt. Deniáljunk egy rácshálófüggvényt! Legyen egy tetsz leges h > 0 esetén ω h := {t n = nh n = 0, 1... N}. 12
Ez lesz az úgy nevezett h lépésköz rácsháló. Deniáljunk az ω h rácshálón egy y h rácshálófüggvényt, és vezessük be a következ jelölést: y h (t n ) = y n, azaz, y n jelöli azt az értéket, ha a rácshálófüggvényünkbe behelyettesítjük a t n értéket. A cél az, hogy ezt az y n függvényt úgy válasszuk meg, hogy minél közelebb legyen u(t n )-hez, t n ω h -ra. Ez lesz a numerikus módszerek alapja. 3.1. A numerikus módszerek "jósága" A numerikus módszerek pontossága sok paramétert l függ. Az alábbiakban ezeket a tényez ket fogjuk vizsgálni. 3.1.1. A numerikus módszerek hibája Legyen u(t) az (2.1)(2.2) feladat pontos megoldása, t i pontban u(t i ), a továbbiakban jelöljük u i -vel. Hasonlóképpen, legyen y i a t i pontbeli közelít megoldása az (2.1)(2.2) feladatnak. A két érték közti eltérést, tehát a közelítés hibáját pedig nevezzük d i -nek. d i := y i u i, feltéve, hogy y i 1 = u i 1. Ezt nevezzük lokális vagy más néven diszkretizációs hibának. A lokális hiba, ahogy azt a neve is jelzi, azt mutatja meg, hogy egy lépés alatt mekkora hiba keletkezik. A globális hibát pedig deniáljuk úgy, hogy e i = y i u i, i = 1, 2...n, tehát itt már nem csak egy lépés alatt keletkez hibát, hanem n lépés alatt keletkez t vizsgálunk. 3.1.2. Numerikus módszerek konvergenciája Azt mondjuk, hogy egy numerikus módszer által el állított y h (t) rácsháló függvény sorozat, nomodó h lépésközök esetén konvergál az y(t) (2.1)(2.2) feladat megoldásához, a t I pontban, ha: t ω h, h-ra lim h 0 y h (t n ) y(t ) = 0, (t n = n h) 13
Általában a numerikus módszert konvergensnek nevezzük, ha konvergens minden t I pontban. 3.1.3. A konvergencia rendje y h (t n ) y(t ) = O(h p ), a konvergencia rendjének nevezzük, ezek szerint a numerikus módszer p-ed rendben konvergens. 3.1.1. Megjegyzés. A módszer akkor konvergens, ha lim h 0 e i = 0 3.1.2. Megjegyzés. Egy numerikus módszer csak akkor "jó", ha a módszer konvergens. A konvegenciát két egyszer bben ellen rizhet tulajdonsággal lehet garantálni, ezek a 0-stabilitás és a konzisztencia. 3.1.4. Numerikus módszerek 0-stabilitása Egy numerikus módszer 0-stabil, ha K > 0, melyre e i K( e 0 + n j=1 d j ), i : 1 i N. 3.1.5. Numerikus módszerek konzisztenciája Azt mondjuk, hogy egy numerikus módszer p-ed rendben konzisztens, ha c > 0 konstans, melyre d i c h p+1. 3.1.3. Tétel. Ha egy numerikus módszer p-ed rendben konzisztens és 0-stabil, akkor p-ed rendben konvergens. A konvergencia általában nehezen megállapítható, hiszen kiszámításához szükséges tudni a globális hibát, és a globális hiba kiszámításához tudni kell a pontos megoldást. A megoldások nyílván nem állnak a rendelkezésünkre, hiszen akkor nem lenne szükség közelít megoldások kiszámítására. Mivel a konvergenciának kulcsfontosságú szerepe van, hiszen csak akkor "jó" egy adott numerikus módszer, ha az konvergens is, ezért valamilyen módon muszáj információt kapnunk a konvergenciáról. Egy adott módszer 0-stabilitásáról és konzisztenciájáról mindig van információnk, és e két adatból már dönthetünk a konvergenciáról is. 14
4. fejezet A legegyszer bb megoldások 4.1. Az explicit Euler módszer Ennek a módszernek az alapötlete igen egyszer. Nevezetesen: egy érint segítségével közelítjük a megoldást a következ képpen: Húzzuk be az y(0) = y 0 kezdetiérték érint jét, majd kössük össze egy tetsz leges t 1 ponttal, így megkapjuk az (x 1, y 1 ) pontot. Ezek után, ugyanezzel az eljárással, kapjuk meg (t 2, y 2 ),..., (t n, y n ) közelít pontokat. Azaz ha ezt felírjuk általánosan, akkor az ábrán látható Φ szög tangensét a következ képpen kaphatjuk meg: 15
4.1. ábra. Az explicit Euler módszer azaz tg(φ) = y i+1 y i t i+1 t i f(t i, y i ) = y i+1 y i t i+1 t i y i+1 = y i + f(t i, y i )(t i+1 t i ) ahol (t i+1 t i ) = h lépésközzel. Egy másik megközelítséb l: Legyen a [0, b] interval- 16
lum felosztása a következ : 0 = t 0 < t 1 <... < t n 1 < t n = b Legyen h i = t i t i 1 az i-edik lépésköz. Az egyenlet t n id pontbeli pontos megoldását jelöljük u(t n )-nel, és a t n id pontbeli közelít megoldását pedig y n -nel. A kezdeti érték problémánál, mindig tudjuk, hogy milyen értéket vesz fel a megoldás a t 0 id pontban. Ebben az esetben tegyük fel, hogy ismerjük a t n 1 id pontbeli y n 1 közelítést, és ebb l határozzuk meg a t n -beli y n közelítést. y n+1 y n h = f(t n, y n ) y(0) = y 0 átrendezve, tehát: y n+1 = y n + h f(t n, y n ). Ezt nevezzük explicit euler módszernek. 4.1.1. Példa Legyen y (t) = 3e t 0, 4y(t) y(0) = 5 y(3) =? h = 3 Helyettesítsünk be az Explicit Euler módszer egyenletébe: y 1 = 5 + f(0, 5) 3 y 1 = 5 + (3e 0 0, 4 5) 3 y 1 = 5 + (3 2) 3 = 8 Azonban az egyenlet pontos megoldása ebben az esetben 2,763, azaz a numerikus módszer lokiális hibája 5,237, ami igen nagy mérték hibát jelent. Próbáljuk meg a lépésköz csökkentésével, és a lépésszámok növelésével pontosítani a közelít megoldást. Legyen h = 1, 5 és közelítsük a megoldást két lépésben, el ször y(0) y(1, 5), majd y(1, 5) y(3)! 1.lépés x 0 = 0; y 0 = 5; h = 1, 5 17
y 1 = 5 + f(0, 5) 1, 5 y 1 = 5 + (3e 0 0, 4 5) 1, 5 y 1 = 5 + 1 1, 5 = 6, 5 = y(1, 5) 2. lépés x 1 = 1, 5; y 1 = 6, 5; h = 1, 5 y 2 = 6, 5 + f(1, 5; 6, 5) 1, 5 y 2 = 6, 5 + (3e 1,5 0, 4 6, 5) 1, 5 y 2 = 6, 5 + ( 1, 93061) 1, 5 = 3, 604 = y(3) Itt a pontos megoldástól való eltérés már mindössze 0,841, és ez az eredmény még tovább csökkenthet, a lépésköz csökkentésével, illetve a lépésszámok növelésével. 4.1.2. A hibaegyenlet Mivel y n a pontos megoldás közelítése, ezért felírhatjuk y n = u n + z n alakban, azaz pontos megoldás + hiba alakban. Helyettesítsük be ezt a formulát az explicit Euler módszer egyenletébe: u n+1 u n h z n+1 z n h u n+1 u n h + z n+1 z n h f(t n, u n + z n ) = 0 f(t n, u n ) + f(t n, u n ) f(t n, u n + z n ) + z n+1 z n h = u n+1 u n h = 0 + f(t n, u n ) f(t n, u n ) + f(t n, u n + z n ) Ez az úgynevezett hiba egyenlet, ami felírható Ψ n,1 + Ψ n,2 = 0 alakban, ahol Ψ n,1 = u n+1 u n h + f(t n, u n ), a lokális approximációs, vagy más néven reziduális hiba. Tehát, ha Ψ n,1 -be a pontos megoldást helyettesítjük be, akkor nyílvánvalóan 0- t kapunk. Így a lokális approximációs hiba azt fejezi ki, hogy az adott numerikus módszer milyen pontosan közelíti a folytonos (2.1)(2.2) feladatot. Ezek alapján pontosítsuk a konzisztencia denícióját: 4.1.1. Deníció. Egy numerikus módszer konzisztens, azaz approximálja a folytonos feladatot, ha lim h 0 Ψ n,1 = 0 Nézzük meg, mit kapunk, ha Taylor sorba fejtjük az u(t n )-et. 18
4.1.3. Az explicit Euler módszer konzisztenciája Ψ n,1 = u n+1 u n h + f(t n, u n ) = Tudjuk, hogy a lépésköz hossza h, ezért t n+1 felírható t n + h alakban. u(t n ) u(t n ) + hu (t n ) + 1 2 h2 u (t n ) + O(h 3 ) h 1 2 hu (t n ) + O(h 2 ) + u (t n ) = A konzisztencia rendjére vonatkozó tétel alapján az explicit Euler módszer konzisztens és rendje 1. 4.1.4. Az Euler módszer lokális hibája Az i-edik lépésben elkövetett lokális hibát jelöljük d i -vel,amit nyílván a pontos és a közelít megoldás különbségeként fogunk meghatározni. d i = y i u i Fejtsük Taylor sorba u(t i 1 + h)-t! y i 1 = h f(t i 1, y i 1 ) u(t i ) u(t i 1 ) = h f(t i 1, u(t i 1 )) u(t i ) u(t i 1 ) = h f(t i 1, u(t i 1 )) u(t i 1 + h) u(t i 1 + h) = u(t i 1 ) + h u (t i 1 ) + h2 2 u (t i 1 ) +... + O(h 3 ) Ezt behelyettesítve megkapjuk a módszer lokális hibáját: h 2 2 u (t i 1 ) + o(h 3 ) = h2 2 u (t i 1 ) + O(h 3 ) Azaz a lokális hiba másodrend, ami a gyakorlatban azt jelenti, hogy a választott lépésköz zsugorításakor annak második hatványával zsugorodik a hibára adott fels becslés. 19
4.1.5. Az Euler módszer 0-stabilitása Ha e i (globális hiba) abszolút értékéhez létezik olyan K konstans, hogy a globális hiba abszolút értéke kisebb legyen, mint K( e 0 + n j=1 d j ), akkor a módszer 0- stabil. e i+1 = e i + h(f(t i, y(t i )) f(t i, y i )) + d j+1 e i+1 = e i + hα e i + d j+1 = = (1 + hα) e i + d j+1 (1 + hα)( e i 1 + hα e i 1 + d j ) + d j+1 e i+1 (1 + hα) e i + d i+1 (1 + hα) 2 e i 1 + (1 + hα)d j + d j+1... (1 + hα) i+1 e 0 + (1 + hα) i j d j+1 (1 + hα) k e hαk e tkα e αb i i+1 e αb e 0 + e αb d j+1 = e αb ( e 0 + d j ) j=0 j=1 Azaz K := e αb választással a módszer 0-stabil. 4.1.2. Megjegyzés. t k -val a k-adik osztópontot jelöltem. 4.1.6. A "jó" lépésköz megválasztása A lépésköz kiválasztása nagy szerepet tölt be a numerikus módszer pontosságában. Az adott egyenlet és a választott numerikus módszer azonban korlátozza a lépéshosszt illet választási lehet ségek számát. Így nemcsak megfelel lépésközr l, hanem megfelel numerikus módszerr l is beszélnünk kell, hiszen a módszert úgy kell megválasztanunk, hogy h lépésközre vonatkozó korlátozások száma és mértéke minimális legyen. Ezek a korlátok általában szoros összefüggésben állnak a numerikus módszer stabilitásával. 20
4.1.7. A teszt egyenlet Tekintsük azt az esetet, mikor az egyenlet y = Ay alakú, ahol A R nxn mátrix. Ha A diagonizálható, akkor ezt az egyenletet felírhatjuk az alábbi módon: w = Dw ahol D egy diagonális mátrix. Ha mindezt koordinátákra bontjuk, akkor a következ n ismeretlenes egyenletrendszert kapjuk: w 1 = d 1 w 1 w 2 = d 2 w 2. w n = d n w n Itt természetesen d i i-re a D diagonális mátrix sajátértékei. Ezt az egyenletrendszert reprezentáljuk a y = λy teszt egyenlettel, ugyanis csak akkor lesz az eredeti egyenlet stabil, ha az egyenletrendszer d i sajátértékére stabil a teszt egyenlet. 4.1.8. Abszolút stabilitás Ha tudjuk, hogy y(0) = c, ahol c > 0 konstans, akkor a teszt egyenlet pontos megoldása y(t n ) = ce λtn lenne. Ezek alapján három esetet különböztethetünk meg: ha Re(λ) > 0, akkor y(t) = ce Re(λ)t exponenciálisan növekszik t szerint. Ez egy instabilis helyzet. ha Re(λ) = 0, akkor a megoldás oszcillál. ha Re(λ) < 0, akkor y(t) exponenciálisan csökken, így a megoldások egyre közelednek egymáshoz. Ez egy asszimptotikusan stabil helyzet. 4.1.9. A-stabilitás Vizsgáljuk tovább a tesztegyenletet a harmadik esteben: y(t) = λy(t), ahol λ C megoldása 0-hoz tart t határesetben, (Re(λ) < 0). 21
4.1.3. Deníció. Egy numerikus módszer A-stabil, ha a teszt egyenletre alkalmazva rendelkezik a fenti tulajdonsággal, lépéshossztól függetlenül. Másképpen megfogalmazva: Legyen y(1) = 1 a kezdeti feltétel. Ha a tesztegyenletb l kapott y 1, y 2,... sorozatra lim n y n = 0, h-ra, akkor a módszer A-stabil. Ez egy nagyon er s feltétel. Az ilyen módszerek a gyakorlatban nem mutatnak stabilitási problémakat. 4.1.10. Az explicit Euler módszer abszolút stabilitási tartománya A leírtak alapján már tudjuk, hogy egy módszernél fontos tulajdonság az A- stabilitás. Vizsgáljuk meg az explicit Euler módszert ebb l a szempontból. y n+1 = y n + h f(t n, y n ), y n+1 = y n + h λy n = (f(t, y) = λy) y n+1 = (1 + hλ)y n = (1 + hλ) 2 y n 1 =... = (1 + hλ) n y 0 Tehát, most azt kell megvizsgálnuk, hogy y n sorozat 0-hoz tart-e? y n+1 = (1 + hλ) n y 0 0 n Az alábbi állítás akkor igaz, ha 1 + hλ < 1, ez például valós λ-ra is megkötés: h < 2. Tehát az explicit Euler módszer nem A-stabil. λ 22
4.2. ábra. Az explicit Euler módszer abszolút stabilitási tartománya 4.1.11. A módszer hiányosságai A módszer nagy el nye, hogy nagyon egyszer, illetve a m veletigénye alacsony. Ám sajnos az explicit Euler módszer nyílván nem a "legjobb" közelít megoldást adja hiszen csak els rend vannak stabilitási problémái, azaz, nem A-stabil 4.2. Az implicit Euler módszer Nézzünk most az (2.1)(2.2) feladtra egy másik közelítési módszert. Írjuk fel u(t n )- et a következ alakban: u(t n ) = u(t n+1 h) alakban, és fejtsük Taylor sorba: u(t n+1 h) = u(t n+1 ) hu (t n+1 ) + O(h 2 ) azaz, u(t t+1 ) u ( t n ) h y n+1 y n h = u (t n+1 ) + O(h 2 ) = f(t n+1, u(t n+1 )) = f(t n+1, y n+1 ) y(0) = y 0 23
Az egyenletet rendezzük y n+1 -re, így megkapjuk az implicit Euler módszer általános alakját: y n+1 = y n hf(t n+1, y n+1 ) Nézzük meg, mit kapunk n = 0 behelyettesítésével: y 1 y 0 h = f(h, y 1 ) Így láthatjuk, hogy y n kiszámításához, egy általános nemlineáris algebrai egyenlet megoldása szükséges, melyre több módszert is ismerünk (például Newton iteráció). Ez a módszer ugyan költségesebb, mint a fent említett explicit Euler módszer, azonban sok szempontból praktikusabb annál. 4.2.1. Az implicit Euler módszer konzisztenciája Helyettesítsünk be a lokális approximációs hiba képletébe, majd fejtsük Taylor sorba u(t n+1 h)-t! Ψ n,1 = u(t n+1) u(t n+1 h) + u (t n+1 ) h = u(t n+1) (u(t n+1 ) hu (t n+1 )) + O(h 2 ) h = O(h) + u (t n+1 ) Az implicit Euler módszer is 1. rendben konzisztens, tehát nem sikerült az explicit formulánál pontosabb közelítést létrehozni, legalábbis a konzisztencia szempontjából. Nézzük meg mi a helyzet a stabilitási tartományával. 4.2.2. Az implicit Euler módszer abszolút stabilitási tartománya A teszt egyenletb l megkapjuk, hogy y (t) = f(t, y(t)) = λy(t) Helyettesítsük be ezt az implicit Euler módszer n + 1-edik egyenletébe: y n+1 = y n + hλy n+1 y n+1 (1 + hλ) = y n 1 y n+1 = 1 hλ y n 24
Legyen z := hλ, így feltételként az 1 1 z < 1 egyenletet kapjuk. Ebb l már látható az implicit Euler módszer stabilitási tartománya: ha 1 < 1 z, azaz ha h > 0. Tehát az implicit Euler módszer A-stabil. Nézzük meg egy gyakorlati példán keresztül, hogy miért fontos szempont az A-stabilitás. 4.3. ábra. Az implicit Euler módszer stabilitási tartományát a satírozott területen kívüli rész jelöli 4.2.3. Merev dierenciálegyenletek A merev dierenciálegyenletek és ezek megoldási módszerei egy elég nagy témát ölelnek fel ráadásul nincs általánosan elfogadott egzakt deníció, ezért csak néhány példával érzékeltetném, hogy mely esetekben beszélünk merev derenciálegyenletelr l: y = Ky + f(t), ahol y R m, K R mxm és "nagy" abszolútérték negatív sajátértéke, vagy y = f(t, y) és f Jacobi mátrixának létezik "nagy" abszolútérték negatív sajátértéke. Az ilyen típusú egyenleteknél nagy szerepet játszik, hogy a használni kívánt numerikus módszer A-stabil vagy nem. A továbbiakban nézzünk olyan módszereket, melyek alkalmasak a merev dierenciálegyenletek megoldására. 25
4.2.4. Példa Az alábbi egyenletet programozzuk le mindkét módszer szerint Matlab-ban! y (t) = 100(y(t) sin(t)) 4.4. ábra. Explicit Euler 26
4.5. ábra. Implicit Euler Láthatjuk, hogy a megadott merev dierenciálegyenletet, hogyan közelíti meg egy olyan módszer, mely A-stabil, és egy olyan, amelyik nem. A különbség szembet n. 4.2.5. Az implicit Euler módszer el nyei és hátrányai Az implicit módszer tehát stabilitását tekintve jobb az explicitnél, viszont ez még mindig csak egy els rend közelítés, így a következ lépésben próbáljunk meg olyan módszert keresni, amely legalább egy másodrend approximáció. 27
4.3. Szimmetrikus/ trapéz módszer Próbáljuk meg a következ t: vegyük az explicit és az implicit Euler módszer számtani közepét! y n+1 y n h = 1 2 [f(t n, y n ) + f(t n+1, y n+1 )] y n+1 = y n + h 2 [f(t n, y n ) + f(t n+1, y n+1 )] 4.3.1. A szimmetrikus módszer konzisztenciája Ψ n,1 = u(t n+1) u(t n ) h + 1 2 [f(t n, y n ) + f(t n+1, y n+1 )] = = u(t n) + hu (t n ) + h2 2 u (t n ) + O(h 3 ) u(t n ) + 1 h 2 [u (t n ) + u(t n+1 )] = = u (t n ) h 2 u (t n ) + o(h 2 ) + 1 2 [u (t n ) + u (t n ) + hu (t n ) + O(h 2 )] = O(h 2 ) Tehát sikerült pontosabb módszerhez jutnunk, hiszen a trapéz módszer már 2. rendben konzisztens. Vizsgáljuk meg, hogy a stabilitási tartomány hogyan alakul ebben az esetben! 4.3.2. A trapéz módszer abszolút stabilitási tartománya A szokásos módon helyettesítsünk be a teszt egyenlet alapján a szimmetrikus trapéz formulába. y n+1 = y n + h 2 (λy n + λy n+1 ) y n+1 = y n + 1 2 hλ(y n + y n+1 ) y n+1 = y n + 1 2 hλy n + 1 2 hλy n+1 (1 + 1 2 hλ)y n = y n+1 (1 1 2 )hλy n+1 y n+1 = 1 + 1 2 hλ 1 1 2 hλy n Azaz a stabilitási tartomány a következ lesz: 2+z < 1 2 + z < 2 z. Ezt az 2 z egyenl tlenséget próbáljuk tovább alakítani, hogy z-re megoldást kapjunk. Írjuk fel 28
z := a + bi alakban, és oldjuk meg az egyenl tlenséget: ( 2 + a + bi ) 2 < ( 2 (a + bi) ) 2 (2 + a) 2 + b 2 < (2 a) 2 + b 2 Tehát,a < 0, így Re(z) < 0, azaz a trapéz módszer is A-stabil. 4.6. ábra. A szimmetrikus módszer stabilitási tartománya 29
5. fejezet Runge-Kutta típusú módszerek Vizsgáljuk meg újra a fent említett módszereket egy másik megközelítésb l, ahol a közelít eljárások alapját az úgynevezett kvadratúra formulák adják, vagyis dolgozzunk numerikus integrálokkal! 5.1. A kvadratúra formulák A Runge-Kutta módszerek ötletének alapját a kvadratúra formulák, azaz a numerikus integrálás szabályai adják. Nézzük meg, mit is jelent ez pontosan! Vegyünk egy [a,b] intervallumot, és készítsünk egy t 1, t 2,... t n ekvidisztáns felosztást. Az f függvény az [a, b] intervallumon felírhatjuk az n 1 darab részintervallum integráljának összegeként is, azaz: b f(t) = n ti+1 a i=1 t i f(t)dt Ez akkor hajtható végre, ha ismerjük a függvény [(t 1, f(t 1 )),..., (t n, f(t n ))] alappontjait. Ezeket a pontokat felhasználva el állítunk egy Lagrange interpolációs polinomot, mellyel közelítjük az eredeti függvényünket, majd ezt a polinomot integráljuk: L j (t) = t t i t j t i ω j = b a L j (t)dt 30
Végül a kapott értékeket szorozzuk f(t 1 ),... f(t n ) értékekkel, így megkapjuk f(t) közelít integrálját. b a f(t)dt n ω j f(t j ) Vegyük az y(t n ) y(t n 1 ) = t n t n 1 y (t)dt egyenletet. A görbe alatti területet approximálhatjuk bal (Explicit -Euler) és jobb (Implicit Euler) közelít integrálokkal. Ezek az els rend módszerek. j=1 Próbáljuk meg az explicit Euler módszert "nomítani"! Eddig y n kiszámításához csak az y n 1 értéket használtuk fel. Azonban ha felvennénk egy köztes pontot, például y (n 1)/2 -t, akkor elméletileg pontosabb megoldást kapnánk. Vizsgáljuk meg ezt az esetet. ỹ (n 1)/2 = y n 1 + h 2 f(t n 1, y n 1 ) y n = y n 1 + hf(t (n 1)/2, ỹ (n 1)/2 ) Ezt a módszert javított Euler módszernek nevezzük. Nézzük meg, hogy mennyivel közelíti jobban a pontos megoldást! 5.1.1. A javított Euler módszer lokális hibája Ψ n,1 = y(t n) y(t n 1 ) h f(t n 1 ), y(t n 1 + h 2 f(t n 1, y(t n 1 ))) = y + h 2 y + h2 6 y (f + h 2 (f t + f y f) + h2 8 (f tt + 2f ty f + f yy f 2 )) + O(h 3 ) Tehát a módszer 2. rendben konzisztens, így valóban sikerült növelni a pontosságot. Ennek alapján próbáljunk meg minél magasabb rend módszereket létrehozni. Ehhez vezessük be az alábbi jelöléseket. k 1 :=f(t n, y n ) k 2 :=f(t n + 0, 5h, y n + 0, 5h k 1 ) y n+1 =y n + hk 2 31
A javított Euler módszer példájára, általánosítsuk ezt jelölést m lépésre. k 1 = f(t n, y n ) k 2 = f(t n + a 2 h, y n + hb 21 k 1 ) k 3 = f(t n + a 3 h, y n + h(b 31 k 1 + b 32 k 2 )). k m = f(t n + a m h, y n + h(b m1 k 1 +... + b m,m 1 k m 1 )) y n+1 = y n + h(c 1 k 1 + c 2 k 2 +... + c m k m ) Ez az úgynevezett általános m lépéses (explicit) Runge-Kutta módszer, melyet 1900 körül dolgozotak ki Karl Runge és Martin Kutta német matematikusok. A javított Euler módszernél láthattuk, hogy a "javítással" sikerült növelni a módszer rendjét. Itt az a 2,..., a m ; b ik ; és c 1,..., c m tetsz leges paraméterek, illetve (b ik )-k által el állított B mátrixot a Runge-Kutta módszer mátixának, a k -kat a módusainak, c i -ket pedig a mátrix súlyainak nevezzük. (Éppen ezért m i=1 c i = 1.) A Runge-Kutta formula lényege, hogy minél magasabb rend módszereket tudjunk létrehozni. Az adott módszerhez kapott konstansokat egy úgynevezett Butcher-tábla foglalja össze. (Butcher tableau, John C. Butcher neve után) a 2 b 21 0 0... 0 a 3 b 31 b 32 0... 0 a 4 b 41 b 42 b 43... 0..... a m b m1 b m2 b m3... b m,m 1 c 1 c 2 c 3... c m Az egyszer ség kedvéért vezessük be az alábbi jelöléseket: y n+1 = y n + h φ(x n, y n, h) (5.1) m φ(x, y, h) = = c i k i (5.2) k i = f(t n + a i h, y n + i=1 m b ij k j ) (5.3) 5.1.1. Megjegyzés. Ahhoz, hogy p-ed rend RK módszert kapjunk a a 2,..., a m ; b ik ; és c 1,..., c m együtthatókat úgy kell megválasztani, hogy a módszer lokális hibája 32 i=1
p + 1 rend legyen. Azaz, egy p-ed rend a következ egyenl ségnek kell teljesülnie: d(t, y, h) = u(t + h) u(t) hφ(t, y, h) = O(h p+1 ) Ahol d(t, y, h) a lokális hibát, u(t) pedig az egyenlet pontos megoldását jelöli. Els lépésként fejtsük Taylor sorba d(t, y, h)-t, u(t + h) u(t)-t, és φ(t, y, h)-t h szerint h = 0 pontban.(ahhoz, hogy az egyenl ség teljesüljön, az kell, hogy a d lokális hiba Taylor-sorának els p tagja t njön el.) i d d(t, y, h) = h i hi (5.4) i=1 u(t + h) = u(t) + hu (t) + h 2 u (t) 2! +... + h p z(p) (t) p! + O(h p+1 ) (5.5) φ(t, y, h) = φ(t, y, 0) + hφ (t, y, h) + h2 2! φ (t, y, h) +... (5.6) + hp 1 (p 1)! φp 1 (t, y, h) + O(h p ) (5.7) Ahhoz, hogy a módszer p-ed rend legyen az szükséges, hogy p i d i=1 = 0 h i feltétel teljesüljön. Második lépésként szorozzuk be mindkét oldalt h-val. d(t, y, h) = hu (t) + h 2 u (t) 2! +... + h p z(p) (t) p! φh(t, y, 0) h 2 φ (t, y, h)... d(x, y, 0) = h(u (t) φ(t, y, 0)) + h 2 ( 1 2 u (t) + O(h p+1 ) hp (p 1)! φ(p 1) (t, y, h) O(h p ) φ (t, y, 0)) +... + h p ( 1 p! z(p) φ (p 1) (t, y, 0) + O(h p+1 ) Így egy p egyenletb l álló egyenletrendszert kapunk, mely megoldható, ha a i = p j=1 b ij. 5.1.2. Az RK módszerek 0-stabilitása A Runge-Kutta formulát az 5.1 egyenletben, olyan alakra hoztuk, mely nagyon hasonlít az explicit Euler módszerhez. Ennek alapján, hasonló levezetéssel megkaphatjuk, hogy a Runge-Kutta módszer 0-stabil. Természetesen most is beszélhetünk explicit és implicit módszerekr l. Nézzünk most mindkét esetre néhány példát! 33
5.2. Az implicit Runge-Kutta módszerek Az implicit és explicit módszerek közti legszembet n bb különbség, a Butcher tábla, hiszen implicit esetben a B mátrix nem feltétlenül alsó háromszög mátrix. Éppen ezért az implicit formulákat sokszor nevezik általános RK módszereknek. 5.2.1. Az implicit formula el nyei és hátrányai Az implicit módszer nagy hátránya, hogy a (4.3) egyenletrendszer egy nemlineáris rendszer lesz k i -kre, amit minden egyes lépésben iterációval kell megoldani, így a m veletigénye igen nagy. El nyei közül a két legjelent sebbet említeném meg: stabilitás tulajdonságuk 5.2.1. Tétel. Minden p 1 számhoz létezik pontosan egy 2p-ed rend implicit Runge-Kutta módszer. 5.3. Az explicit Runge-Kutta formulák 5.3.1. Deníció. Egy Runge-Kutta módszer explicit, ha b ik = 0; i < k. Ekkor a k i -k explicit módon számolhatóak. 5.3.1. Az els rend Runge-Kutta formulák Az els rend RK módszert fel tudom írni a következ alakban: φ(x, y, h) = c 1 k 1 = f(t, y), illetve az el z ek alapján u(t + h) u(t) = hu (t) + O(h 2 ). Ezek alapján írjuk fel az els rend módszerek lokális hibáját. d(t, y, h) = u(t + h) u(t) hφ(t, y, h) = hf(t, y) hc 1 + f(t, y) + O(h 2 ) = h(1 c 1 )f(t, y) + O(h 2 ) Az egyenletet megoldva azt kapjuk, hogy c 1 = 1 választással kapunk els rend módszert, és ezt visszahelyettesítve a y n+1 = y n +hf(t n, y n ) formulát, azaz az explicit Euler módszert kapjuk. Ez ez egyetlen els rend (explicit) RK módszer. 34
5.3.2. A megoldhatóság feltételei A a i = p j=1 b ij feltétel mellett, minden p-ed rend formulának vannak csak rá vonatkozó feltételei is. Az els rend módszer pontosan akkor oldható meg, ha teljesül a ce = 1 (5.8) feltétel, ahol e az (1... 1) T vektort jelenti, c pedig a Butcher tábla c i elemib l álló vektor. 5.3.3. A másodrend Runge-Kutta formulák A másodrend Runge-Kutta formulák pontosan akkor oldhatók meg, ha teljesül az 5.7 feltétel, és c a = 1 2 (5.9) egyenl ség is. (Az a j elemekb l álló vektort jelöltük a-val.) Hasonlóképpen mint az els rend nél φ(t, y, h) = c 1 k 1 + c 2 k 2 = c 1 f(t, y) + c 2 f(t + a 2 h, y n + hb 21 f(t, y)) Ha Taylor sorba fejtjük k 2 -t, és d(t, y, h)-t, akkor megkapjuk h 0, h 1, h 2 együtthatóit. (A Taylor sorfejtés ebben az esetben igen hosszadalmas, ezért csak a megoldásokat írom le). b 1 = 0 1 c 1 c 2 f = 0 ( 1 2 c 2a 2 ) t f + ( 1 2 c 2b 21 ) y f = 0 Így a másodrend RK módszerre a következ együtthatókat kapjuk. a 1 = 0 a 2 = b 21 a 2 = 1 2c 2 c 1 + c 2 = 1 Látható, hogy az egyenletünk határozatlan, c 1, c 2 szabad paraméterek, így igen sok másodrend formula létrehozható. 35
5.3.4. Példák másodrend formulákra 0 0 0 1 2 1 2 0 0 1 0 0 0 2 3 2 3 0 1 4 3 4 0 0 0 1 1 0 1 2 1 2 5.3.5. Harmadrend RK formulák A harmadrend RK formulák megoldhatóságának feltételei, az 5.7 és az 5.8 feltételek, tehát minden, ami az alacsonyabb rend formuláknál kellett és teljesülnie kell az ca 2 = 1 3 cba = 1 6 (5.10) (5.11) egyenleteknek is, ahol B a Butcher tábla b ij elemeib l álló mátrixa. Példák harmadrend formulákra: 0 0 0 0 1 2 1 2 0 0 1-1 2 0 1 6 2 3 1 6 0 0 0 0 2 2 3 2 0 3 3 0 0 1 4 2 0 3 3 3 8 8 5.3.6. A klasszikus negyed rend Runge-Kutta formula A megoldhatóság feltételei természetesen az összes eddigi feltétel és az alábbiak együttes teljesülése: ca 3 = 1 4 cba 2 = 1 24 cabc = 1 8 (5.12) (5.13) (5.14) 36
A-val az a i értékekb l álló mxm-es diagonális mátrixot jelöltem. k 1 = f(t n, y n ) k 2 = f(t n + h 2, y n + h 2 k 1) k 3 = f(t n + h 2, y n + h 2 k 2) k 4 = f(t n + h, y n + hk 3 ) y n+1 = y n + h 6 [k 1 + 2k 2 + 2k 3 + k 4 ] 0 0 0 0 0 1 1 2 1 0 2 2 0 0 0 1 2 0 0 1 0 0 1 0 1 6 1 3 1 3 1 6 Ha jobban megnézzük ezt a módszert, akkor láthatjuk, hogy az y(t n ) y(t n 1 ) közelít integrál a Simpson formulával felírva közel hasonló eredményt ad: y(t n ) y(t n 1 ) h 6 (y (t n 1 ) + 4y (t (n 1)/2 ) + y (t n )) Ha összevetjük az els -, a másod-, a harmad-, és a negyed rend formulákat, akkor azt a hasonlóságot fedezhetjük fel, hogy p = 1, 2, 3, 4 rend formuláknál a módszerek lépésszáma is rendre m = 1, 2, 3, 4. Valójában a lépések számából nem következik a módszer rendje, amit már m = 5 lépés esetén is láthatunk. lépések száma 1 2 3 4 5 6 7 8 9 10 módszer rendje 1 2 3 4 4 5 6 6 7 7 5.3.7. Az explicit Runge-Kutta módszer abszolút stabilitási tartománya A Runge-Kutta módszerek családja széleskörben elterjedt közelítési eljárás, annak ellenére, hogy ezeknek a módszereknek is vannak stabilitási problémáik. Abszolút stabilitási tartományuk korlátos, így sajnos nem A-stabilak. 37
5.3.8. RK módszerek összehasonlítása Nézzük meg az alábbi példán keresztül, hogy milyen pontossággal közelít egy els -, egy másod-, illetve egy negyed rend Runge-Kutta formula: y (t) = 5t(y(t)) 2 + 5/t 1/(t 2 ), y(1) = 1 5.1. ábra. Els rend RK formula 5.2. ábra. Másodrend RK formula 38
5.3. ábra. Negyedrend RK formula Els rend RK Másodrend RK Negyedrend RK maximális hiba 0,03333 0,56108 0,00533 39