Molnár Viktória. Közönséges differenciálegyenletek numerikus megoldása

Hasonló dokumentumok
Differenciálegyenletek numerikus megoldása

Nyitrai Károly. Kezdeti érték feladatok numerikus vizsgálata. Eötvös Loránd Tudományegyetem. Természettudományi Kar. Témavezet : Csörg Gábor

Taylor-polinomok. 1. Alapfeladatok április Feladat: Írjuk fel az f(x) = e 2x függvény másodfokú Maclaurinpolinomját!

Merev differenciálegyenletek numerikus megoldása

Eötvös Loránd Tudományegyetem Természettudományi Kar

Utolsó el adás. Wettl Ferenc BME Algebra Tanszék, Wettl Ferenc (BME) Utolsó el adás / 20

1. Parciális függvény, parciális derivált (ismétlés)

Szakdolgozat. M esz aros Mirjana

Egylépéses módszerek 0- és A-stabilitása

GPK M1 (BME) Interpoláció / 16

2. SZÉLSŽÉRTÉKSZÁMÍTÁS. 2.1 A széls érték fogalma, létezése

Lineáris algebra numerikus módszerei

Megoldott feladatok november 30. n+3 szigorúan monoton csökken, 5. n+3. lim a n = lim. n+3 = 2n+3 n+4 2n+1

Runge-Kutta módszerek

Modellek és Algoritmusok - 2.ZH Elmélet

Hajlított tartó elmozdulásmez jének meghatározása Ritz-módszerrel

Gyakorló feladatok. Agbeko Kwami Nutefe és Nagy Noémi

Végeselem modellezés alapjai 1. óra

Numerikus integrálás

Lineáris egyenletrendszerek

Baran Ágnes, Burai Pál, Noszály Csaba. Gyakorlat Differenciálegyenletek numerikus megoldása

Lineáris algebra 2. Filip Ferdinánd december 7. siva.banki.hu/jegyzetek

(1 + (y ) 2 = f(x). Határozzuk meg a rúd alakját, ha a nyomaték eloszlás. (y ) 2 + 2yy = 0,

Numerikus integrálás április 20.

Kalkulus I. gyakorlat, megoldásvázlatok

L'Hospital-szabály március 15. ln(x 2) x 2. ln(x 2) = ln(3 2) = ln 1 = 0. A nevez határértéke: lim. (x 2 9) = = 0.

Alap-ötlet: Karl Friedrich Gauss ( ) valószínűségszámítási háttér: Andrej Markov ( )

Gauss-Seidel iteráció

LNM folytonos Az interpoláció Lagrange interpoláció. Lineáris algebra numerikus módszerei

Nagy Levente. Runge Kutta módszerek implementálása és alkalmazása

Numerikus módszerek 1.

Szélsőérték-számítás

1. Példa. A gamma függvény és a Fubini-tétel.

Differenciálegyenletek numerikus megoldása

1.9. B - SPLINEOK B - SPLINEOK EGZISZTENCIÁJA. numerikus analízis ii. 34. [ a, b] - n legfeljebb n darab gyöke lehet. = r (m 1) n = r m + n 1

Gauss-Jordan módszer Legkisebb négyzetek módszere, egyenes LNM, polinom LNM, függvény. Lineáris algebra numerikus módszerei

Bázistranszformáció és alkalmazásai 2.

Lagrange-féle multiplikátor módszer és alkalmazása

1. Folytonosság. 1. (A) Igaz-e, hogy ha D(f) = R, f folytonos és periodikus, akkor f korlátos és van maximuma és minimuma?

Függvények július 13. f(x) = 1 x+x 2 f() = 1 ()+() 2 f(f(x)) = 1 (1 x+x 2 )+(1 x+x 2 ) 2 Rendezés után kapjuk, hogy:

10. Előadás. 1. Feltétel nélküli optimalizálás: Az eljárás alapjai

Függvények határértéke, folytonossága

Lineáris leképezések. 2. Lineáris-e az f : R 2 R 2 f(x, y) = (x + y, x 2 )

Normák, kondíciószám

A Richardson-extrapoláció és alkalmazása a Dániai Euleri Modellben

Vektorterek. Wettl Ferenc február 17. Wettl Ferenc Vektorterek február / 27

Határozott integrál és alkalmazásai

Polinomok, Lagrange interpoláció

Norma Determináns, inverz Kondíciószám Direkt és inverz hibák Lin. egyenletrendszerek A Gauss-módszer. Lineáris algebra numerikus módszerei

Lagrange és Hamilton mechanika

Közönséges differenciál egyenletek megoldása numerikus módszerekkel: egylépéses numerikus eljárások

Mátrixhatvány-vektor szorzatok hatékony számítása

Numerikus integrálás április 18.

8. Egyenletek, egyenlőtlenségek, egyenletrendszerek II.

ANALÍZIS II. Példatár

Diszkréten mintavételezett függvények

Exponenciális RungeKutta módszerek

Komplex számok trigonometrikus alakja

Konjugált gradiens módszer

1. Analizis (A1) gyakorló feladatok megoldása

Explicit hibabecslés Maxwell-egyenletek numerikus megoldásához

25 i, = i, z 1. (x y) + 2i xy 6.1

Példa: Tartó lehajlásfüggvényének meghatározása végeselemes módszer segítségével

Szélsőérték feladatok megoldása

Közönséges differenciálegyenletek kétpontos peremérték-feladatai a numerikus modellezésben

Analízisfeladat-gyűjtemény IV.

Feladatok a Diffrenciálegyenletek IV témakörhöz. 1. Határozzuk meg következő differenciálegyenletek általános megoldását a próba függvény módszerrel.

3. el adás: Determinánsok

Határozatlan integrál (2) First Prev Next Last Go Back Full Screen Close Quit

Feladatok az 5. hétre. Eredményekkel és teljesen kidolgozott megoldásokkal az 1,2,3.(a),(b),(c), 6.(a) feladatokra

Bevezetés a görbe vonalú geometriába

Feladatok megoldásokkal a 9. gyakorlathoz (Newton-Leibniz formula, közelítő integrálás, az integrálszámítás alkalmazásai 1.

3. Lineáris differenciálegyenletek

Numerikus módszerek II. zárthelyi dolgozat, megoldások, 2014/15. I. félév, A. csoport. x 2. c = 3 5, s = 4

NUMERIKUS MÓDSZEREK FARAGÓ ISTVÁN HORVÁTH RÓBERT. Ismertet Tartalomjegyzék Pályázati támogatás Gondozó

Bázistranszformáció és alkalmazásai

1. tétel - Gráfok alapfogalmai

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Gibbs-jelenség viselkedésének vizsgálata egyszer négyszögjel esetén

MÉSZÁROS JÓZSEFNÉ, NUMERIKUS MÓDSZEREK

7. gyakorlat. Lineáris algebrai egyenletrendszerek megoldhatósága

Fourier transzformáció

Differenciálegyenletek numerikus integrálása április 9.

Differenciálegyenletek. Vajda István március 4.

Parciális dierenciálegyenletek

Meghatározás: Olyan egyenlet, amely a független változók mellett tartalmaz egy vagy több függvényt és azok deriváltjait.

Matematika III. harmadik előadás

FELVÉTELI VIZSGA, július 21. Írásbeli próba MATEMATIKÁBÓL A. RÉSZ

Egyenletek, egyenlőtlenségek VII.

Diszkrét matematika 2.C szakirány

Lineáris leképezések. Wettl Ferenc március 9. Wettl Ferenc Lineáris leképezések március 9. 1 / 31

Dierenciálhatóság. Wettl Ferenc el adása alapján és

Numerikus módszerek 1.

Mátrixfüggvények. Wettl Ferenc április 28. Wettl Ferenc Mátrixfüggvények április / 22

Megoldások 9. osztály

Függvények Megoldások

Komplex számok. Komplex számok és alakjaik, számolás komplex számokkal.

Numerikus módszerek I. zárthelyi dolgozat (2017/18. I., A. csoport) Megoldások

Diszkrét idej rendszerek analízise az id tartományban

Numerikus módszerek beugró kérdések

Átírás:

Eötvös Loránd Tudományegyetem Természettudományi Kar Molnár Viktória Matematika Bsc - Alkalmazott matematikus szakirány Közönséges differenciálegyenletek numerikus megoldása Egylépéses módszerek Témavezet : Kurics Tamás Alkalmazott Analízis és Számításmatematikai Tanszék Budapest, 00

Köszönetnyílvánítás Szeretném kifejezni köszönetemet a szakdolgozat elkészítéséhez nyújtott segítségéért témavezet mnek, Kurics Tamásnak. Továbbá hálával tartozom tankörtársaimnak a L A TEX szövegszerkeszt alkalmazásánál nyújtott segítségükért. i

Tartalomjegyzék. Bevezetés. Euler-módszerek 4.. Explicit Euler-módszer............................. 4.. Implicit Euler-módszer............................. 6 3. Javított Euler-módszerek 8 3.. Trapézformulával javított Euler-módszer................... 8 3.. Érint formulával javított Euler-módszer................... 9 3.3. θ-módszer.................................... 0 4. RungeKutta-módszerek 4.. Kétlépcs s RungeKutta-módszer....................... 4 4.. Háromlépcs s RungeKutta-módszer..................... 5 4.3. Általános RungeKutta-módszer együtthatói................. 7 4.4. Négylépcs s RungeKutta-módszer...................... 9 4.5. Folytonos RungeKutta képletek....................... 9 5. Beágyazott módszerek 5.. Richardson-extrapoláció............................ 5.. RungeKuttaFehlberg-módszerek....................... 3 5.3. Lépésválasztás.................................. 5 5.4. Módszerek a gyakorlatban........................... 6 6. Összefoglalás 30 ii

. fejezet Bevezetés A gyakorlati életben s r n el fordulnak olyan feladatok, melyekhez dierenciálegyenletek megoldása szükséges. Ezek között is el fordul olyan probléma, melynél analitikus módszerekkel nem tudunk célt érni. A számítástechnika fejl désének köszönhet en ezeket a feladatokat is meg tudjuk oldani, vagy ha pontosan nem ismerjük a megoldást, de azért közelít becslést kaphatunk róla. Vegyünk például egy ejt erny st, aki t = 0 id pontban kiugrik egy repül gépb l és a kezdeti magassága legyen y = y 0. Az egyszer ség kedvéért feltesszük, hogy csak függ legesen mozog. Az ugróra két er hat: a gravitáció és a légellenállás. Newton második törvénye szerint a következ egyenletet kapjuk az ugró függ leges gyorsulására: mÿ = mg + mcẏ, ahol m az ejt erny s tömege, g a gravitációs er, c alaki tényez. A newtoni modellben az ejt erny s mozgását ez a másodrend dierenciálegyenlet írja le. Ezt visszavezethetjük két els rend dierenciálegyenletre a következ módon: a sebességet jelöljük v-vel. Ekkor v = ẏ miatt v = ÿ. Ha leosztunk m-mel, akkor a következ egyenletrendszert kapjuk: ẏ = v v = g + cv. Ha hozzávesszük még a kezdeti feltételt is, akkor már egyértelm megoldást kapunk. Az egyenletrendszert nem tudjuk megoldani analitikusan, így szükség van a numerikus számításokra. De miel tt erre részletesebben kitérnénk, nézzük meg, hogy általános eset-

ben hogyan vezethet vissza egy p-edrend közönséges dierenciálegyenlet els fokú rendszerre. Legyen F (t, y, ẏ,..., y (p) ) = 0 adott kezdetiértékek mellett y (s) (t 0 ) = y (s) 0, ahol s = 0,,..., p. Az y (p) kifejezhet (az implicit függvény tétel segítségével) a p-edrend egyenletb l: y (p) (t) = G(t, y, ẏ,..., y (p ) ). Vezessünk be új változókat: z, z,..., z p a következ értékekkel: Innen: Tehát z = y, z = ẏ,. z p = y (p ). z = ẏ = z, z = ÿ = z 3,. ż p = y (p ) = z p. z (t) = z (t) z (t) = z 3 (t). ż p (t) = z p (t) z p (t) = G(t, z (t),..., z p (t)) a z-re egy els rend közönséges egyenletrendszert kaptunk. A továbbiakban a következ közönséges dierenciálegyenletekb l álló rendszert szeretnénk megoldani y (x) = f(x, y(x)), (.)

ahol f : R n+ R n, és x R, y R n. Feltesszük továbbá, hogy f folytonos az x- ben, és Lipschitz-folytonos az y-ban. Így a kezdeti feltétel y(x 0 ) = y 0 hozzávételével, a PicardLindelöf tétel alapján egyértelm megoldást kapunk. Ha az (.) egyenlet jobb oldala nem függ az y-tól és például n =, akkor az y = f(x) egyenlet ekvivalens az integrálegyenlettel. y(x) = y 0 + x 0 f(t)dt 3

. fejezet Euler-módszerek.. Explicit Euler-módszer Nézzük (.)-et n = -re, és a [0, ] intervallumon keressük a megoldását. Osszuk fel ekvidisztánsan az intervallumot úgy, hogy jelölje x 0 = 0 a kezd pontot, és x k = x 0 + kh a bels pontokat, k = 0,..., N, ahol h = /N. Itt N egész szám, és h a lépésköz. Ha minden kis intervallumon közelítjük y (x k )-t a dierenciálhányadosával, akkor a következ t kapjuk: y(x k + h) y(x k ) h y (x k ) = f(x k, y(x k )), amib l úgy kapjuk a numerikus értékeket, ha egyenl séget teszünk. Szokás a numerikus értékeket y k -val jelölni, a pontos értékeket y(x k )-val. kapjuk, hogy y k+ y k h = f(x k, y k ). Ezeket a jelöléseket alkalmazva Ha megszorozzuk h-val, és átrendezzük az egyenletünket, akkor megkapjuk az úgynevezett haladó vagy explicit Euler-módszert: y k+ = y k + hf(x k, y k ). Vezessünk be néhány deníciót:. Deníció. Legyen x [0, ] egy rögzített pont. Osszuk fel a [0, ] intervallumot n részre úgy, hogy x az osztópontok között szerepeljen. Egy numerikus módszert az (.) megoldására akkor hívunk konvergensnek, ha egy adott függvényosztályból minden f-re, 4

minden y 0 = y(0) kezdeti értékre és minden rögzített x pontjára igaz, hogy ha n, vagyis nomítjuk a felosztást, akkor y n y(x ). A konvergencia-vizsgálat érdekében deniáljuk a módszer lokális hibáját.. Deníció. Az Euler-módszer képlethibájának vagy lokális hibájának hívjuk a következ mennyiséget: g k := y(x k+) y(x k ) h ahol y(x) (.) pontos megoldását jelenti. f(x k, y(x k )), (.) A lokális hibát becsülhetjük anélkül, hogy ismernénk a pontos megoldást. Alkalmazzuk kétszer a Lagrange-féle középérték tételt: g k = y (ξ k ) y (x k ) = y (τ k )(ξ k x k ) h max y (x), ahol ξ k (x k, x k+ ) és τ k (x k, ξ k ). 3. Deníció. A numerikus módszert konzisztensnek hívjuk, ha minden 0 k N-re igaz g k = O(h p ), ahol p > 0. A legnagyobb egész p-t a módszer konzisztencia rendjének nevezzük. A lokális hibabecslésb l azonnal látszik, hogy az Euler-módszer els rendben konzisztens. 4. Deníció. A módszer globális hibájának nevezzük a pontos és a számított érték különbségét: e k := y(x k ) y k k = 0,,..., N. A globális hiba becslése: Ha (.)-t beszorozzuk h-val és átrendezzük, a következ pontos értéket kifejezve kapjuk a következ egyenletet: y(x k+ ) = y(x k ) + hf(x k, y(x k )) + hg k. Ebb l kell kivonni a közelít értékekkel kapott megoldást: y k+ = y k + hf(x k, y k ). Vagyis e k+ -re azt kapjuk, hogy e k+ = e k + h(f(x k, y(x k )) f(x k, y k )) + hg k. 5

Kihasználva, hogy f Lipschitz-folytonos a második változójában, kapjuk a következ becslést: e k+ e k + hl f e k + h g k = ( + hl f ) e k + h g k. Ezt tovább becsülve: e k+ ( + hl f ) e k + h g k + ( + hl f )h g k k... ( + hl f ) k+ e 0 + ( + hl f ) k i h g i i=0 ( + hl f ) k+( k e 0 + h g i ). Az ( + hl f )-et felülr l tudjuk becsülni (e h L f )-el az e h Taylor sorfejtéséb l adódóan, így i=0 ( + hl f ) k+ e (k+)hl f e NhL f Nh pedig pont az intervallumunk hossza, ami jelen esetben. Ezáltal e L f -et kapjuk, ami egy rögzített C konstans. Ebb l adódik a következ deníció: 5. Deníció. Egy numerikus módszert stabilnak nevezünk, ha f Lipschitz-folytonos, és ha igaz a következ becslés: ahol C konstans. e k+ C ( e 0 + k h g i ), i=0. Tétel. Egy numerikus módszer akkor konvergens, ha minden k-ra e k = O(h p ) teljesül. Ekkor a konvergencia rendje p.. Állítás. Ha a módszer p-edrendben konzisztens és stabil, akkor konvergens is, és a konvergencia rendje megegyezik a konzisztencia rendjével... Implicit Euler-módszer Az Euler-módszer másik változatát úgy kaphatjuk, hogy y (x k+ )-et helyettesítjük az Euler-módszernél látott dierenciálhányadossal. Ezt az úgynevezett hátralép vagy implicit Euler-módszernek nevezzük. y(x k + h) y(x k ) h y (x k+ ) = f(x k+, y(x k+ )) 6

h-val való szorzás, és átrendezés után így néz ki az implicit Euler-módszer: y k+ = y k + hf(x k+, y k+ ). Hátránya az Euler-módszerrel szemben, hogy minden lépésben egy nemlineáris egyenletet kell megoldanunk. Állapítsuk meg a módszer rendjét! Ehhez tekintsük a g k értékét: g k := y(x k+) y(x k ) h f(x k+, y(x k+ )). Szinte szó szerint elismételhetjük az Euler-módszernél látottakat, vagyis alkalmazzuk kétszer a Lagrange-féle középérték tételt: g k = y (ξ k ) y (x k+ ) = y (τ k )(ξ k x k+ ) h max y (x), ahol ξ k (x k, x k+ ) és τ k (ξ k, x k+ ) tetsz leges. A módszer így szintén els rend. 7

3. fejezet Javított Euler-módszerek Felmerül a kérdés, hogy hogyan kaphatnánk magasabb rendben konzisztens megoldást. Tudnánk-e javítani az Euler-módszert? Az (.) kezdeti érték feladatunk pontos megoldását így is megkaphatjuk: y(x k+ ) y(x k ) = xk+ x k f(t, y(t))dt. (3.) Viszont, ahogy már a korábbiakban említettük, nem mindig tudjuk ezt megoldani, így hát az integrált is numerikusan fogjuk közelíteni kvadratúraformulával. 3.. Trapézformulával javított Euler-módszer Maga a trapézformula: xk+ F (t)dt h x k melynek hibája O(h 3 ). Így kapjuk, hogy xk+ x k f(t, y(t))dt = h ( F (xk ) + F (x k+ ) ) ( f(xk, y(x k )) + f(x k+, y(x k+ )) ) + O(h 3 ). Ha ezt írnánk be (3.)-be, akkor nem explicit formulát kapnánk y(x k+ ) miatt. Ennek kiküszöbölésére az ötlet a következ : fejtsük Taylor-sorba y(x k+ )-t x k körül. Tehát y(x k+ ) = y(x k ) + hy (x k ) + O(h ). Vegyük észre, hogy az itt szerepl y (x k ) egyenl f(x k, y(x k ))-val. És ha itt végig y(x k ) közelít értékével, vagyis y k -val számolunk, és beírjuk az eddigi eredményeket a (3.)-es 8

képletbe, akkor megkapjuk a trapézformulával javított Euler-módszert: y k+ = y k + h (f(x k, y k ) + f(x k+, y k + hf(x k, y k )). (3.) Lássuk, hogy ennek a módszernek mekkora a rendje: a rend meghatározásához ismét a lokális hibatagot kell vizsgálnunk, ami g k = y(x k+) y(x k ) h [f(x k, y(x k )) + f(x k+, y(x k ) + hf(x k, y(x k )))]. }{{} Kezdjük el el ször átalakítani a kapcsos részt. Tudjuk, hogy y (x k ) = f(x k, y(x k )), és észrevesszük, hogy ha ezt a helyettesítést végrehajtanánk y(x k ) + hf(x k, y(x k ))-ban, akkor f második argumentumában pont az y(x k+ ) Taylor-sorának elejét kapnánk. Ezért még hozzá kell vennünk O(h )-et, és végül b vítsük h-val ezt a részt. A kapott érték a következ : h [f(x k, y(x k )) + f(x k+, y(x k+ ))] + O(h 3 ) = Így a kapott hibatag: g k = y(x k+) y(x k ) h = y(x k+) y(x k ) h h xk+ x k xk+ x k f(t, y(t))dt + O(h 3 ). f(t, y(t)) dt + O(h ) = }{{} y (t) h (y(x k+) y(x k )) + O(h ) = O(h ). Ezek alapján a trapézformulával javított Euler-módszer másodrendben konzisztens. 3.. Érint formulával javított Euler-módszer Másik módszer a javításra az érint formula alkalmazása, ami pedig a következ : xk+ F (t)dt hf (x k+ ). x k Ezt alkalmazva a függvényünkre kapjuk, hogy xk+ x k f(t, y(t))dt = hf ( x k+, y(x k+ ) ) + O(h 3 ). Ugyanúgy mint az el bb, fejtsük Taylor sorba y(x k+ )-t x k körül: xk+ f(t, y(t))dt = hf(x k+, y(x k ) + h x k f(x k, y(x k ))) + O(h 3 ). 9

Az ötlet megint ugyanaz, vagyis cseréljük ki a pontos értékeket a közelít kre. Tehát az érint formulával javított Euler-módszer a következ lesz: y k+ = y k + hf(x k+, y j + h f(x k, y k )). Mivel egy ugyanolyan O(h 3 ) hibájú módszerrel javítottunk, ezért az a sejtésünk, hogy a javítás mértéke is ugyanolyan lesz. Lássuk precízen g k értékét: g k = y(x k+) y(x k ) h f(x k+, y(x k )) + h f(x k, y(x k )). }{{} Vessük be ugyanazokat a trükköket, mint az trapézformulával javított módszernél. A kapcsos rész így alakul: hf ( x k+, y(x k + )) + O(h ). Az egészet tekintve ismét azt kapjuk, hogy másodrend a javítás, mivel g k = y(x k+) y(x k ) h = y(x k+) y(x k ) h h xk+ x k f(t, y(t)) dt + O(h ) = }{{} y (t) h (y(x k+) y(x k )) + O(h ) = O(h ). 3.3. θ-módszer Az Euler- és a trapéz-módszer speciális esetei az úgynevezett θ-módszernek: A θ = és θ = y k+ = y k + h[θf(x k, y k ) + ( θ)f(x k+, y k+ )], k = 0,,.... esetben az eredeti képletek adódnak. Különböz θ [0, ]-re különböz módszereket kapunk, ami egyedül θ = -ra lesz explicit, minden más esetben pedig implicit. Például θ = 0 esetben az implicit Euler-módszert kapjuk vissza. Tekintsük a lokális hibatagot, a rend meghatározásához: g k = y(x k+) y(x k ) h = y(x k+) y(x k ) h Használjuk fel y(x k+ ) sorfejtését: ( θf(x k, y k ) + ( θ)f(x k+, y k+ ) ) = ( θy (x k ) + ( θ)y (x k+ ) ). y(x k ) + hy (x k ) + h y (x k ) + 6 h3 y (3) (x k ) + O(h 4 ). 0

Emiatt a hiba: g k = h [y(x k) + hy (x k ) + h y (x k ) + 6 h3 y (3) (x k ) y(x k )] ( θy (x k ) + ( θ)[y (x k ) + hy (x k ) + h y (3) (x k )] ) + O(h 3 ) = = ( θ ) hy (x k ) + ( θ ) h y (3) (x k ) + O(h 3 ). 3 Tehát a módszer másodrend, ha θ =, különben meg els rend.

4. fejezet RungeKutta-módszerek Az eddigiekben láthattuk, hogy a kvadratúra formulák segítségével javítani tudtunk a módszer rendjén. Ezen az ötleten alapszanak a RungeKutta-módszerek is. Tekintsük újra (3.)-et. Ezt tovább alakítva általánosan kapjuk a következ ket: y(x n+ ) y(x n ) = xn+ x n f(t, y(t))dt = h 0 f(x n + ht, y(x n + ht))dt. Ha helyettesítjük az így kapott integrált valamilyen kvadratúrával, és a közelít értékeket beírjuk, akkor újabb módszereket nyerhetünk: m y n+ = y n + h b j f(x n + c j h, y(x n + c j h)), n = 0,,... j= ahol b j -k és c j -k megfelel súlyok. Ezek a számok határozzák majd meg, hogy melyik módszerr l is beszélünk. Viszont nem ismerjük y értékeit az x n + c h, x n + c h,... pontokban. Az explicit RungeKutta-módszerek ötlete, hogy az y(x n + c j h) értékeket approximáljuk a következ módon. Kezdetnek legyen c = 0 és vezessük be rekurzívan a következ számokat: ξ = y n, ξ = y n + ha, f(x n, ξ ), ξ 3 = y n + ha 3, f(x n, ξ ) + ha 3, f(x n + c h, ξ ),. ξ m = y n + h m j= a m,j f(x n + c j h, ξ j ),

íly módon az m y n+ = y n + h b j f(x n + c j h, ξ j ) (4.) j= képlet adódik. Az A = (a i,j ) i,j=,,...,m mátrixot RungeKutta-mátrixnak nevezzük, és a hiányzó elemeit nullának deniáljuk. A további együtthatókat vektorokba rendezhetjük: b = [b b... b m ], c = [c c... c m ]. Azt mondjuk, hogy ez a módszer úgynevezett m-lépcs s explicit RK-módszer, mert ennyi lépcs ben értékeljük ki f-et, hogy megkaphassuk y n+ értékét. Ennek a módszernek egy természetesen adódó általánosítása, ha az A együttható mátrix nem csupán alsó háromszög. Ilyenkor minden lépésben egy nemlineáris rendszert kell megoldanunk. Ezt hívjuk implicit RungeKutta-módszernek. Mindkét típusú módszernél az együtthatók tárolására úgynevezett Butcher-táblát használunk: c T A b. Továbbiakban csak az explicit RK-módszerekról lesz szó. Ebben az esetben így néz ki kifejtve a Butcher-tábla: 0 c a, c 3 a 3, a 3,..... c m a m, a m,... a m,m b b... b m b m A módszer stabilitásáról egy tételt fogalmazunk meg [6] könyv alapján, ami hasonló módszerrel látható be, mint a javított Euler-módszereknél.. Tétel. (általános explicit RungeKutta-módszer stabilitása) Legyen f a második változójában lokálisan Lipschitz, L f (4.)-ben deniált módszer stabil, mert érvényes a következ becslés: ( k ) e k e L Φ e 0 + g i h. 3 i=0 Lipschitz-állandóval. Ekkor a

Itt L Φ = L f ( m j= ) c j + P m (hl f ), és a P m (hl f ) tag a hl f mennyiség (m )-edfokú polinomja, amire igaz, hogy P m (hl f ) = O(hL f ). Már csak az maradt hátra, hogy hogyan is válasszuk meg a c j -ket, b j -ket, a i,j -ket, és hogy mekkora lesz az egyes módszerek rendje m függvényében. 4.. Kétlépcs s RungeKutta-módszer Nézzük az egyik legegyszer bb nemtriviális esetet, amikor m =, vagyis egy kétlépcs s RK-módszert: y n+ = y n + hb f(x n + c h, y n ) + hb f(x n + c h, y n + ha, f(x n, y n )). (4.) Az összeg utolsó tagját fejtsük Taylor sorba (x n, y n )-körül: f(x n +c h, y n +ha, f(x n, y n )) = f(x n, y n )+h[c f x (x n, y n )+a, f y (x n, y n )f(x n, y n )]+O(h ), majd ezt visszaírva (4.)-be kapjuk a következ összefüggést: y n+ = y n + h(b + b )f(x n, y n ) + h b [c f x (x n, y n ) + a, f y (x n, y n )f(x n, y n )] + O(h 3 ). (4.3) Össze kell vetnünk ezt az egyenletet, a pontos értékkel ugyanabban az (x n, y n ) pontban. Az y els deriváltját ki tudjuk fejezni f-el, de lássuk, hogy néz ki a második derivált: y = f x + f y f. Így, ha az x n+ -ben kapott pontos megoldás sorfejtését ỹ(x n+ )-el jelöljük, akkor azt kapjuk, hogy ỹ(x n+ ) = y n + hf(x n, y n ) + h [f x (x n, y n ) + f y (x n, y n )f(x n, y n )] + O(h 3 ). Azt szeretnénk, ha ez megegyezne (4.3)-al. Innen kapjuk az egyenletrendszert az együtthatókra: b + b = b c = a, = c. 4

Ebben a konkrét esetben az egyenletrendszernek nincs egyértelm megoldása, mint ahogy általában sincs, mert több az ismeretlen, mint az egyenlet. mutatunk két megoldást az alábbi két Butcher-táblában: De azért példának 0 0 0 0 0 0 0 Ezekben a táblázatokban rendre felismerhetjük a trapéz- és érint formulával javított Euler-módszert, aminek már ismerjük a rendjét. Így a kétlépcs s RK-módszer stabil és a rendje megegyik a lépcs k számával. 4.. Háromlépcs s RungeKutta-módszer Azt reméljük, hogy a háromlépcs s módszer nagyobb rendben lesz konzisztens. Az el z technika segítségével kiszámolható a háromlépcs s módszer Butcher-táblája. Másodrendig kell Taylor-sorba fejteni az összeg második és harmadik tagját, és kifejezni y (3) -ot, vagyis y harmadik deriváltját, ugyanis szükség lesz rá az ỹ(x n+ ) sorfejtésénél. Majd ezeket kell összevetni. Már itt m = 3 esetén is elég hosszadalmas kiszámítani az egyenletrendszert, de kés bbiekben mutatunk rá egy egyszer bb sémát. A kapott egyenletrendszer a következ : b + b + b 3 = b c + b 3 c 3 = b c + b 3 c 3 = 3 b 3 a 3, c =. 6 Több megoldás lehet itt is, példának nézzük a következ két Butcher-táblát: 0 0 3 3 0 3 3 6 3 6 4 3 8 3 8 Ezek alapján általánosan azt vesszük észre, hogy m j= b j =, ugyanis emiatt lesz egyáltalán konzisztens a módszer. A következ egyenl ségek pedig megkönnyítik a szá- 5

molást: c = a,, c 3 = a 3, + a 3,,..., vagyis tegyük fel (c i = i j= a i,j)-t minden explicit RungeKutta-módszerre. Ezek után lássuk a háromlépcs s módszer rendjét. A y(x n+ ) y(x n ) h 3 j= b jf(x n + c j h, ξ j ) sorfejtésének hibatagja O(h 4 ), tehát a g n lokális hiba harmadrend és a módszer globális hibája O(h 3 ). A p-edrend módszer lokális hibája minden lépcs ben ugyanannyi (persze h-tól függ en), ezért nézhetjük az els intervallum végpontjaiban: e(h) = y(x 0 + h) y. Fejtsük Taylor-sorba e(h)-t 0-körül e(h) = e(0) + he (0) + + hp p! e(p) (θh), ahol 0 < θ <, és e(0) = e (0) = = e (p) (0) = 0. Viszont e (p) (h) pontos értékét a következ alakban kapjuk: e (p) (h) = E (h) + he (h), ahol E (h) és E (h) tartalmazzák f parciális deriváltjait (p )- és p-edrendig. Mivel e (p) (0) = 0, ezért E (0) = 0 és mivel f parciális deriváltjai adottak, ezért E (h) csak O(h) és E csak O() lehet. Tehát létezik olyan C konstans, hogy e(h) Ch és e(h) C hp+. p! Azt hihetnénk, hogy minél nagyobb a lépcs szám, annál nagyobb lesz a rend, de azért ez nem egészen van így. A következ összefüggések ismertek a lépcs szám m és az elérhet p(m) rend között: m 4 : p(m) = m m 5 : p(m) m m 8 : p(m) m m 0 : p(m) m 3. Az m és p(m) közötti hézag éppen azzal kapcsolatos, hogy f függvény y-tól is függ. 6

4.3. Általános RungeKutta-módszer együtthatói Már ilyen kis lépcs számnál is nehezen számolhatók ki a RungeKutta-módszer együtthatói, de szerencsére van rá minta, hogy ez általánosságban hogyan is m ködik. Meglep lehet, de nem más, mint a gráfelmélet adott választ a kérdéseinkre. Legyen T gyökeres fák egy halmaza, ami alatt olyan irányítatlan körmentes gráfokat értünk, aminek van egy kitüntetett csúcsa: a gyökér. Továbbá egy fa (t) rendjén a csúcsainak a számát fogjuk érteni. Ha nagyobb, mint els rend fáról van szó, akkor levelek alatt azokat a csúcsokat értjük, ami nem gyökér, és ami pontosan egy éllel csatlakozik a fához. A fán adott egy rendezés, miszerint a gyökércsúcs legyen a legalsó, a bel le lépésben elérhet csúcsok legyenek a gyerekei. Szül csúcsok pedig értelemszer en az egy lépéssel elérhet leljebb lév csúcsok. Két azonos rend fát ekvivalensnek mondunk, ha az utak ugyanazt a mintát követik a fa tetejét l az aljáig. A következ ábra ekvivalens fákat ábrázol. Szükségünk van y egyre magasabb deriváltjaira - elég arra az esetre szorítkozni, mikor f nem függ x-t l -, amik -t l 4-ig a következ képp néznek ki: y = f(y) y = f y (y)f(y) y (3) = f yy (y)[f(y)] + [f y (y)] f(y) y (4) = f yyy (y)[f(y)] 3 + 4f yy (y)f y (y)[f(y)] + [f y (y)] 3 f(y) Ha mondjuk a k-adik deriváltra van szükségünk, akkor vegyünk egy k csúcsból álló fát az összes lehetséges nem ekvivalens módon. Egy fa csúcsainak feleltessük meg f annyiadik deriváltját, ahány gyereke van, majd ezeket szorozzuk össze minden egyes fán, és adjuk össze ket. Az ábrán egy példa látható: 7

f f f f f yy f yyy f y f yyy f yy fy f 4 Ha már a deriváltakat el állítottuk, akkor már csak az együtthatókat kell nekik megfeleltetni. Egyrészr l minden fa meghatároz egy polinomot - jelöljük Φ(t)-vel -, amib l az együtthatókat nyerjük majd ki, másrészr l pedig minden t-hez hozzárendelünk egy természetes számot, amit jelöljünk γ(t)-vel. Lássuk a konstrukciót! Indexeljük meg a csúcsokat - kivéve a leveleket - úgy, hogy a gyökér legyen az i, a többi pedig rendre j, k,.... Most rendeljük hozzá a csúcsokhoz az együtthatókat, úgy, hogy a gyökér legyen b i, a többi csúcs, ami nem levél, pedig legyen a j,k ahol j a szül jének az indexe, k pedig a csúcs saját indexe. A levelekben lév együtthatók pedig legyenek c k -k, ha a k index csúcsból induló él tartja ket. Φ(t)-t úgy kapjuk, hogy összeszorozzuk a fában lév együtthatókat, majd összeadjuk öket az összes lehetséges módon. γ(t)-hez az kell, hogy megnézzük mennyi a gyökér rendje, majd elhagyjuk azt, és az így kapott gráfban vegyük a legalsó csúcsok rendjét, majd ezeket is elhagyva folytatjuk az algoritmust. Ezeknek a számoknak a szorozata lesz γ(t). c j f y c j c i c i j a i,j 3 i b i 6 Φ(t) = ij b ic i a i,j c j γ(t) = 3 6 = 8 Az egyenletek, amiket ezekb l kapunk a következ képp néznek ki: Φ(t) = γ(t) Legjobban megérteni talán egy példán keresztül lehet. Ez alapján írjuk fel a négylépé- 8

ses RK-módszerben kapott egyenlet rendszert. 4.4. Négylépcs s RungeKutta-módszer A (4.) képletben m helyére 4-et írva a módszer explicit, ezért minden i > j-re a i,j = 0. Az eddigiek alapján a következ egyenletrendszert kapjuk: b + b + b 3 + b 4 = b c + b 3 c 3 + b 4 c 4 = b c + b 3 c 3 + b 4 c 4 = 3 b 3 a 3, c + b 4 a 4, c + b 4 a 4,3 c 3 = 6 b c 3 + b 3 c 3 3 + b 4 c 3 4 = 4 b 3 c 3 a 3, c + b 4 c 4 a 4, c + b 4 c 4 a 4,3 c 3 = 8 b 3 a 3, c + b 4 a 4, c + b 4 a 4,3 c 3 = b 4 a 4,3 a 3, c = 4. A második, harmadik és ötödik egyenletb l kifejezhet b, b 3, b 4, a negyedik, hatodik, hetedik egyenletb l pedig a 3,, a 4,, a 4,3. Az utolsó egyenletbe való behelyettesítés után kapjuk, hogy c 4 =. A sok megoldásból mutatunk két példát: 0 0 0 0 0 4 4 0 6 3 3 6 0 6 3 6 Ezek közül az els t nevezik a klasszikus (negyedrend ) RungeKutta-módszernek, mert maga Kutta határozta meg ket és valóban negyedrendben konzisztens a módszer. 4.5. Folytonos RungeKutta képletek Ha ki szeretnénk rajzoltatni a megoldást, vagy a megoldás széls értékeit keressük, akkor nem érdemes a h lépéstávolságot nagyon kicsire választani, hiszen ez túl sok függvénykiértékeléssel jár. Ilyenkor el nyös folytonos RungeKutta képleteket használni. Ilyenkor 9

a ξ j számokat ugyanúgy választjuk, mint eddig, viszont a b j súlyok már nem számok lesznek, hanem a t változó folytonos függvényei, amivel a képlet a következ : m y n+t = y n + h b j (t)f(x n + c j h, ξ j ) 0 t. (4.4) j= Itt y n+t = y n (t) az y(x n + th) közelítésére szolgál. Azt szeretnénk, hogy a t = 0 és t = helyen ne változzon meg a hagyományos RungeKutta képlet, és a képlet hibája se változzon meg menet közben, vagyis minden 0 < t < -re ugyanakkora maradjon. Példaként vizsgáljuk meg a másodrend, két lépcs j, folytonos RungeKutta képletek esetét: y n+t = y n + hb (t)f(x n + c h, y n ) + hb (t)f(x n + c h, y n + ha, f(x n, y n )) 0 t. (4.5) El ször biztosítsuk, hogy t = 0-ra és t = -re a hagyományos képletet kapjuk meg. Az els követelmény azt jelenti, hogy b (0) = b (0) = 0. A második feltételhez ugyanazt csináljuk, mint amikor a kétlépcs s képletet határoztuk meg. Taylor sorfejtések összevetéséb l kapjuk a következ ket: b () + b () =, b ()a, =. Ebb l következik, ahogy a nem folytonos képletben, úgy itt is a lokális hiba másodrend. Az általános explicit RungeKutta-módszer stabilitásáról szóló tételb l következik, hogy y n, y n+,... értékek hibája is másodrend. Ezután (4.4) már folytonos interpolációt ad y n = y(x n ) + O(h ) és y n+ = y(x n+ ) + O(h ) között. Már csak azt kell elérnünk, hogy 0 < t < -re y n+t eltérése y(x n + th)-tól másodrend legyen. A (4.5) képletb l és az y n = y(x n ) + O(h )-b l kiindulva kapjuk, hogy y n+t = y(x n ) + O(h ) + hb (t)f(x n + c h, y(x n ) + O(h )) + + hb (t)f(x n + c h, y(x n ) + O(h ) + ha, f(x n, y(x n ) + O(h ))) = = y(x n ) + h[b (t) + b (t)]f(x n, y(x n )) + O(h ) = = y(x n ) + hty (x n ) + O(h ) = y(x n + th) + O(h ) 0

kell, hogy teljesüljön, vagyis b (t) + b (t) = t, 0 t. A legegyszer bb lehet ség ahhoz, hogy az eddigi eredmények mind teljesüljenek: b (t) 0, b (t) = t, a, =. Harmadrend módszer szerkesztéséhez tekintsük (4.4)-ben m = 3 esetet, és t = 0-ra írjuk el, hogy b (0) = b (0) = b 3 (0) = 0 legyen, majd t = -re követeljük meg a háromlépcs s RungeKutta módszernél kapott egyenletrendszert. Ezzel biztosítjuk a az y n értékek kiszámításának stabilitását, valamint a harmadrend ségüket. Az el z módszer analógiájára 0 < t < -re y n helyére y(x n ) + O(h 3 )-at írva kapjuk, hogy 3 y n+t = y(x n ) + O(h 3 ) + h b j (t)f(x n + c j h, ξ j ). j= Ezt a képlépcs s módszerhez hasonlóan sorbafejtve kapjuk, hogy y n+t = y(x n )+h[b (t)+b (t)+b 3 (t)]f(x n, y(x n ))+[b (t)a, +b 3 (t)(a 3, +a 3, )]f x (x n, y(x n ))+O(h 3 ) kell, hogy megegyezzen a következ vel: y(x n ) + hty (x n ) + h t y (x n ) + O(h 3 ) = y(x n + th) + O(h 3 ). Összességében a következ feltételek adódnak: b (t) + b (t) + b 3 (t) = t b (t)a, + b 3 (t)(a 3, + a 3, ) = t b ()a, + b 3 ()(a 3, + a 3, ) = 3 b 3 ()a 3, a, = 6. Ennek egy megoldása a következ lehet: a, =, a 3, =, a 3, = jön a sima háromlépcs s módszerb l, és b (t) = t( 5 6 t), b (t) = 3 t, b 3 (t) = 6 t.

5. fejezet Beágyazott módszerek Ebben a fejezetben szeretnénk minél jobb lokális hiba becslést kapni az egylépéses módszerekre. Ahogy az Euler-módszernél is láthattuk, a globális hibát viszonylag könnyen tudjuk becsülni. Nem ez a helyzet a lokális hibánál, ugyanis a közelít eredmények hibáját sajnos csak ritkán tudjuk becsülni. Ezért fontos a számítás során, hogy a numerikus eredmények birtokában azonnal hibabecslést készítsünk. De minden esetben célszer, hogy összehasonlítási érték is álljon a rendelkezésünkre. 5.. Richardson-extrapoláció Richardson ötletének lényege, hogy h függvényeként kell kezelni a hibát. Tegyük fel, hogy egy adott kezdeti érték (x 0, y 0 ) és egy adott h lépésköz mellett használunk egy p-edrend RK-módszert. Kiszámolunk két lépést, aminek az eredménye legyen y és y. Ezután ugyanazzal a kezdeti értékb l indulva kiszámoljuk (h) lépésközzel tett nagy lépés eredményét, amit jelöljünk ω-val. y globális hibája ismert: e = y(x 0 + h) y = Ch p+ + O(h p+ ), ahol C tartalmazza az úgynevezett hiba együtthatókat, és y 0 deriváltjait p + -edrendig bezárólag. Az y hibája két részb l tev dik össze. Az els lépésb l származó hibából (I + h δf δy + O(h ))e illetve a második lépés lokális hibájából, ami pont akkora, mint e. Tehát a következ t kapjuk: e = y(x 0 +h) y = (I +O(h))Ch p+ +(C+O(h))h p+ +O(h p+ ) = C(h p +)+O(h p+ ).

A nagy lépés hibája: y(x 0 + h) ω = C(h) p+ + O(h p+ ) Az el z egyenletb l kifejezzük ki az ismeretlen C-t, és így extrapolálunk egy jobb értéket y(x 0 + h)-hoz, amit jelöljünk ŷ-al. A következ tétel az [5] könyvben található. 3. Tétel. Tegyük fel, hogy egy p-edrend RK módszerrel tett két h méret lépés közelít értéke y, és ω az egy nagy, h méret lépéssel tett lépés eredménye, akkor az y hibáját a következ képp határozzuk meg: és egy p + -edrend közelítés y(x 0 + h)-re. y(x 0 + h) y = y ω p + O(hp+ ) ŷ = y + y ω p 5.. RungeKuttaFehlberg-módszerek Az egyik nevezetes módszer a hibabecslésre a beágyazott RK-módszer. A lényege, hogy két különböz rend módszert futtatunk párhuzamosan, így kapjuk a hibabecsléseket. Ha két azonos rend módszert futtatnánk, akkor el fordulhatna, hogy egyszer az egyiknek lesz kisebb hibája, másszor pedig a másiknak. A két különböz rend módszernél az egyik hibája elhanyagolható lesz. Fehlberg ötlete a következ volt: a p-edrend módszernek legyenek ugyanazok a c j, a i,j együtthatói, mint a p + -edrend módszernek. Ekkor viszont a b j -k különböz k lesznek, ezért ezekre vezessük be ˆb j jelölést. Mostantól ezt úgy hívjuk, hogy p + (p) módszer. Butcher-táblában pedig a következ képp jelöljük: c T A b ˆb Ez a módszer sokkal el nyösebb Richardson ötletéhez képest, ugyanis nincs szükség újabb függvénykiértékelésekre az azonos együtthet k miatt. Nézzük meg, hogyan is néz 3

ki a 3() módszer. Vegyünk egy harmadrend módszert, például az el z fejezetben tárgyaltat. Ebbe ágyazzunk be egy másodrend módszert. Szükségünk lesz ˆb j -kre. A következ összefüggést kapjuk a másodrend módszer együtthatóira: ˆb + ˆb + ˆb 3 = Következésképp a módszer: ˆb + ˆb 3 =. y n+ = y n + h(ˆb f(ξ ) + ˆb f(ξ ) + ˆb 3 f(ξ 3 )). Rögzítsük le ˆb -t -nek, így ˆb = ˆb = 4 lesz, a módszer Butcher-táblázata pedig: 0 b 6 ˆb 4 A két módszer segítségével becsüljük a hibát: 3 6 4 g n+ = ŷ (n+) y(x n+ ) = h((ˆb b )f(ξ ) + (ˆb b )f(ξ ) + (ˆb 3 b 3 )f(ξ 3 )) = = h(d f(ξ ) + d f(ξ ) + d 3 f(ξ 3 )). Ebben az esetben d =, d = 6, d 3 =. Nézzük most meg az el z fejezetben tárgyalt klasszikus negyededrend módszert, hogy van-e hozzá beágyazott harmadrend módszer. A harmadrend feltételeknek kell teljesülniük ˆb j -kre, a negyedrend a i,j -kkel, és c j -kkel. ˆb + ˆb + ˆb 3 + ˆb 4 = ˆb c + ˆb 3 c 3 + ˆb 4 c 4 = ˆb + ˆb 3 + ˆb 4 = ˆb c + ˆb 3 c 3 + ˆb 4 c 4 = 3 4ˆb + 4ˆb 3 + ˆb 4 = 3 ˆb3 a 3, c + ˆb 4 a 4, c + ˆb 4 a 4,3 c 3 = 6 4ˆb 3 + ˆb 4 = 6 Ha felírjuk ennek az egyenletrendszernek a mátrixát, és megnézzük a determinánsát, akkor azt kapjuk, hogy nem egyenl 0-val. Így viszont egyértelm a megoldása. Vagyis nincs 3-adrend beágyazott módszer ebben az esetben. Ellenben van egy módszer, ami 4

ilyenkor is megoldást jelenthet. Vegyük hozzá az a i,j mátrixhoz ötödik sornak a b vektort, vagyis a 5,i = b i ahol i =,..., 4. c 5 pedig értelem szer en legyen 4 i= a 5,i. Így a ˆb i -kre i =,..., 4 ismeretlenekre felírva a harmadrend feltételeket, kapunk 4 lineáris egyenletet 5 ismeretlennel. Célszer feltenni, hogy ˆb 5 0, ezért legyen ˆb 5 =. Megoldva a rendszert kapjuk: ˆb = 6, ˆb =, ˆb3 = 5 3, ˆb4 = 5 6, ˆb5 =. A módszer neve FSAL(First Same As Last) A különböz matematikai programokban (például Matlab, Mathematica) gyakran használják azt a beágyazott 5(4) módszert, ami Runge, Kutta és Felhlberg nevéhez f z dik. A módszer együtthatóit Butcher-táblázatban adjuk meg, a fels sarok nulláit elhagyva. 0 4 3 8 3 4 3 3 9 3 93 6 700 97 796 97 439 6 8 3680 53 845 404 8 3544 7 565 (5) 5 408 b 0 6 565 ˆb(4) 6 35 0 6656 85 859 404 40 97 0 404 5 856 9 56430 50 Itt ˆb (4) -vel illetve b (5) -vel jelöltük a két együttható halmazt, amely mutatja a hozzátatozó képlet rendjét. 55 5.3. Lépésválasztás Azzal, hogy most már láttunk módszereket a lokális hiba becslésre, ezeket ki is használhatnánk, hogy ne x h lépéssel tegyünk meg egy lépést, hanem a lokális hiba nagyságától függ en. Jelölje h j az x j és x j közötti távolságot minden j =,,..., N-re. Olyan ĥ kellene választani, hogy a globális hiba kisebb maradjon egy adott tolerancia határnál (τ). Vagyis egy p-edrend módszernél g n = Ψ(y n )h p, tehát τ = Ψ(y n )ĥp 5

Osszuk el egymással az egyenleteket! τ g n = Ψ(yn)ĥp Ψ(y n )h = ĥp p h p Ez a becsült optimális lépésköz. ĥ = h p τ g n 5.4. Módszerek a gyakorlatban Lássuk, hogy az eddig említett módszerek hogyan viselkednek a gyakorlatban. Példának tekintsük a következ kezdetiérték feladatot: y = y x y x y() = Ennek analitikusan ki tudjuk számolni a pontos megoldását: y(x) =. Matlab program +x segítségével megoldottuk 3-lépcs s RungeKutta-módszerrel, és beágyazott 3() módszerrel is. Az eredményeket ábrázoltuk a [0, 50] intervallumon. (a) RK-3 módszer (b) Beágyazott 3() módszer Az ábrákon piros vonal jelzi a pontos megoldást, és a kék pontok a közelít megoldás pontjait mutatják. Az sima RK-3 módszernél jól látszik, hogy azonosan lépéstávolsággal helyezkednek el a pontok, míg a beágyazott módszernél ez változik a beépített hibabecslést l függ en. Egy módszert akkor mondunk el nyösebbnek a másiknál, ha kevesebb függvénykiértékelésre van szükség (hiszen egy bonyolult függvénynél ez sokáig tarthat), és a megoldástól sem tér el nagyon. Az els ábrán 50 kiértékelésre volt szükség és a 0 6

közelében, a függvény nagy változásához képest ritkán helyezkednek el a pontok. Ellenben a beágyazott módszernél 5 kiértékelés is elég volt, ráadásul láthatóan jobban közelíti a valódi megoldást. A következ feladat azt hivatott szemléltetni, hogy még az explicit beágyazott módszerek sem tudnak minden kezdetiérték feladatot ügyesen közelíteni. A feladat: y = λ(y cos(x))y() = Beágyazott 5(4) módszerrel megoldott feladatot [0, 0] intervallumon ábrázoltuk λ = paraméter mellett, lásd az 5.-es ábrán. 5.. ábra. Piros vonal ismét a pontos megoldást jelenti, a kék pontok meg a közelít megoldást ábrázolják. A megoldó statisztikája: 3 sikeres lépés, 4 hibás kísérlet, és 63 függvénykiértékelés. Újra megoldottuk a feladatot ugyanezzel a módszerrel λ = 0 paraméter mellett. A változás szemmel látható az 5.-es ábrán. Statisztikája: 03 sikeres lépés, hibás kísérlet, 65 függvénykiértékelés. Mivel egy módszer hatékonysága egyenesen arányos a függvénykiértékelések számával, így ez a módszer már nem t nik annyira jónak. Tehát azt a következtetést tudjuk levonni, hogy a λ paraméter növelésével a feladat úgynevezett merev egyenletté válik. A merevségnek nincs általános deníciója, hatékonysági kérdésen alapszik, hiszen az explicit módszerek is megoldják, csak rendkívül lassan. Az explicit módszereknél a lépéshossz indokolatlanul kicsi lesz, mert a lépéstávolság meghatározásához a stabilitási követelmények jobban hozzájárulnak, mint a pontossági követelmények. Ezért kedvez bbek az olyan módszerek, 7

5.. ábra. amelyek abszolút stabilak. Ha tovább növeljük λ értékét mondjuk 40-re, akkor az 5.3 ábra adódik. 5.3. ábra. Ehhez már 77 sikeres lépés, 4 hibás kísérlet, és 687 függvénykiértékelés kellett. Ugyanezt a feladatot egy merev egyenletekre kifejlesztett programmal oldjuk meg (Matlabban ez az ode5s). A végeredmény az 5.4-es ábrán látható. Statisztikái: 05 sikeres lépés, 4 hibás kísérlet, 4 függvénykiértékelés. Ez a módszer szemmel láthatóan hatékonyabb. Viszont, ahogy az ábrán is látszik, nem mindegy a kezdeti érték sem, ahonnan a feladat kiindul. Ha közelebbi adatot adtunk volna, akkor még hatékonyabb lett volna a módszer. 8

5.4. ábra. 9

6. fejezet Összefoglalás Összefoglalásként elmondhatjuk, hogy az el bbiekben ismertetett egylépéses módszerek egyben jópár problémára megoldást jelentenek, viszont merev rendszerek megoldására nem alkalmasak. Megismerkedtünk az explicit és implicit Euler-módszerrel, ennek javításaival, a trapéz- és érint formulával, valamint az ezeket összefoglaló θ-módszerrel. Ismertettük a RungeKutta-módszercsaládot, betekintést nyertünk az együtthatók általános kiszámításába, amihez gráfelméleti eszközöket is alkalmaztunk. Láthattunk folytonos RungeKutta képletet, valamint megtudhattuk, hogy használhatók a beágyazott módszerek a lokális hiba becslésében. Végül példákon keresztül illusztráltuk a különböz módszerek ugyanazon feladat megoldásával összefügg el nyeit és hátrányait. 30

Irodalomjegyzék [] J. C. Butcher. Numerical Methods for Ordinary Dierential Equations. Wiley, 003. [] A. Iserles. A First Course in the Numerical Analysis of Dierencial Equations. Cambridge University Press, 996. [3] E. Hairer és G. Wanner. Solving Ordinary Dierencial Equations. Springer, 980. [4] J. Stoer és R. Bulirsch. Introduction to Numerical Analysis. Springer-Verlag, 993. [5] E. Hairer és S. P. Nørsett and G. Wanner. Solving Ordinary Dierential Equations. Springer, 993. [6] Stoyan G. és Takó G. Numerikus módszerek. Elte-Typotex, Budapest, 995. [7] P. G. Thomsen. Numerical ODEs -analysis and applications, manuscript, 007. 3