You are on page 1of 6

8.

Metode za rjeavanje obinih diferencijalnih jednadbi


8.1. Uvod

Promatrat emo inicijalni (poetni ili Cauchyjev) problem za obinu diferencijalnu jednadbu dy = f (y, x), y (x0 ) = y0 , (8.1) dx pri emu pretpostavljamo da je funkcija f (y, x) neprekidna na vremenskom intervalu x0 x b i za < y < . Ideja numerikog rjeavanja je zamjena neprekidnog rjeenja u vremenskom intervalu [x0 , b] priblinim rjeenjima u konanom skupu toaka {x0 , x1 , . . . , xN }. Obzirom na to iz koliko prethodnih toaka raunamo novu aproksimaciju yi u toki xi , razlikujemo (a) jednokorane metode (takve su na primjer RungeKutta metode) aproksimacija u yi rauna se samo iz vrijednosti aproksimacije u xi1 ; (b) viekorane metode (takvi su na primjer prediktorkorektor parovi: Adams Bashfort metoda kao prediktor, AdamsMoulton kao korektor) aproksimacija u yi rauna se iz vrijednosti u vie prethodnih toaka xk , xk+1 , . . . , xi1 . Oznaimo s Y (x) pravo rjeenje diferencijalne jednadbe, a s y (x) aproksimaciju rjeenja. Bez smanjenja openitosti, za izvod metoda moemo koristiti da su toke xj ekvidistantne, tj. da vrijedi h = xj xj 1 , odnosno xj = x0 + jh, j = 0, 1, . . . ,

8.2.

RungeKutta metode

Najjednostavnija metoda iz obitelji RungeKutta metoda je RungeKutta metoda prvog reda, poznatija po imenom Eulerova metoda. Izvod Eulerove metode moe se napraviti na (barem) dva naina. Prvi je lako shvatljiv, jer ima geometrijsku pozadinu, a generalizacija drugog naina dat e nam ideju za izvod RungeKutta metoda viih redova. Povucimo u toki x0 tangentu na pravo rjeenje Y (x). Koristei vrijednost te tangente u x1 dobit emo eljenu aproksimaciju u x1 . Imamo Y (x1 ) Y (x0 ) Y = Y (x0 ) = f (x0 , y0 ), h h ili na drugi nain zapisano: Y (x1 ) Y (x0 ) hY (x0 ) = hf (x0 , y0 ).

8.2. RungeKutta metode

181

Y (x1 )

Y (x0 )

x0

x1

Jasno je da e se na slian nain dobivati i aproksimacije za rjeenja u tokama x2 , . . . , x N . Dakle, Eulerova metoda glasi: yn+1 = yn + hf (xn , yn ), n = 0, 1, . . . ,

Takoer je jasno da ako su toke xj neekvidistantne, u prethodnoj formuli umjesto h treba pisati hn varijabilna duljina koraka. Eulerova metoda se, kao to smo ve rekli moe izvesti i na drugi nain. Funkcija Y razvije se u Taylorov red (do prvog lana) oko toke xn : Y (x) = Y (xn ) + Y (xn )(x xn ) + Y (n ) (x xn )2 , 2

pri emu toka n se nalazi izmeu xn i x. Uvrtavanjem toke xn+1 u prethodnu formulu dobivamo: h2 , xn n xn+1 . 2 Primijetimo da odavde slijedi da je greka aproksimacije u jednom koraku Eulerove metode O(h2 ). Primijenimo li vie koraka metode, greka se nakupi do O(h) dakle maksimalan red metode je 1 (eksponent od h). Openito, RungeKutta metode imaju oblik Y (xn+1 ) = Y (xn ) + hY (xn ) + Y (n )
p

yn+1 = yn +
i=1

w i ki

(8.2)

gdje su wi konstante, a ki je
i 1

ki = hn f (xn + i hn , yn +
j =1

ij kj ),

182

8. Metode za rjeavanje obinih diferencijalnih jednadbi

pri emu je 1 = 0. Ostali wi , i , ij odreuju se tako da formula to bolje aproksimira rjeenje diferencijalne jednadbe. Razvijemo li lijevu i desnu stranu u (8.2) u Taylorov red oko toke xn i ako izjednaavamo prvih m koecijenata uz hr n , dobivamo da ne moemo izjednaiti vie od m = p prvih koecijenata. Rezultirajua formula zove se RK (RungeKutta) metoda reda m. Uglavnom se promatraju RK metode do reda m = 4 zbog toga to je broj raunanja funkcije maksimalan red metode 1 2 3 4 5 6 7 8 . 1 2 3 4 4 5 6 6

Za ksan m moe postojati vie RK metoda. Tako za m = 2 dobivamo uvjete 1 w1 + w2 = 1, 2 w2 = , 21 = 2 . 2 1 2 Interesantne RK2 metode imaju 2 = , i 1. Mi emo koristiti samo onu za 2 3 2 = 1, koja glasi 1 yn+1 = yn + (k1 + k2 ), 2 gdje je k1 = hn f (xn , yn ) k2 = hn f (xn + hn , yn + k1 ). Pogreka za jedan korak RK2 metode je O(h3 ), dok je za vie koraka O(h2 ). Na slian nain, moe se pokazati da postoji vie RK metoda etvrtog reda, od kojih je najpoznatija 1 yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ), 6 gdje je k1 = hn f (xn , yn ) 1 1 k2 = hn f (xn + hn , yn + k1 ) 2 2 1 1 k3 = hn f (xn + hn , yn + k2 ) 2 2 k4 = hn f (xn + hn , yn + k3 ). Pogreka za jedan korak RK4 metode je O(h5 ), dok je za vie koraka O(h4 ). n = 0, 1, 2, . . . , n = 0, 1, 2, . . . ,

8.2.1.

Varijabilni korak za RungeKutta metode

Da bi se ispitala veliina pogreke, promatra se RK metoda s korakom h i h/2. Nakon toga, napravi se 1 korak RK metode s korakom h i 2 koraka metode s korakom h/2 (da se doe u istu toku).

8.2. RungeKutta metode

183

Ideja je napraviti slijedee: (a) ako se vrijednosti tako dobivenih aproksimacija dosta razlikuju, onda se korak smanji na h = h/2 i procedura se ponovi za h/2 i h/4 (oprez od neprekidnog smanjivanja koraka!!); (b) ako su vrijednosti tako dobivenih aproksimacije bliske, prihvaa se tako izraunata vrijednost, a iz ocjene pogreke predvia se h za slijedei korak metode. Korist od varijabilnog koraka je da se za neke funkcije s puno manje raunanja moe dobiti rjeenje na zadovoljavajuu tonost, nego kod ksnog koraka (koji ne kontrolira tonost).

8.2.2.

RungeKutta metode za sustave jednadbi

RungeKutta metode mogu se koristiti za priblino rjeavanje sistema diferencijalnih jednadbi i za priblino rjeavanje diferencijalnih jednadbi viih redova. Treba samo primijetiti da u sluaju sistema diferencijalnih jednadbi, veliine yn , ki i f (x, y ) imaju ulogu vektora, a ostale veliine su skalari. Moe se pokazati da se jednostavnim zamjenama varijabli svaka diferencijalna jednadba vieg reda moe svesti na sistem prvog reda. Primjer 8.1. Svedite na sistem diferencijalnih jednadbi prvog reda i rijeite RK2 metodom s korakom h = 0.1 diferencijalnu jednadbu y + 2y + 3x = 5, y (0) = 1, y (0) = 2

u toki x = 0.1. Oznaimo s z = y . Deriviranjem i uvrtavanjem u polaznu jednadbu dobivamo sistem diferencijalnih jednadbi y =z z = 5 2z 3x uz poetne uvjete y (0) = 1, z (0) = 2. Rjeenje zadatka dobivamo odmah u prvom koraku 1 k11 k y1 y + 21 . = 0 + k k22 z1 z0 2 12 Uoimo da je y z = z , 5 2z 3x y (0) 1 = . z (0) 2

Odatle, po formuli za RK2 slijedi k11 2 0.2 = 0.1 = . k12 52230 0.1 Jednako tako, imamo y0 k 1.2 + 11 = , z0 k12 2.1

184

8. Metode za rjeavanje obinih diferencijalnih jednadbi

odakle izraunavamo k2 k21 2.1 0.21 = 0.1 = . k22 5 2 2.1 3 0.1 0.05 Sve zajedno daje 1 y1 1 = + z1 2 2 0.2 0.21 + 0.1 0.05 = 1.205 , 2.075

to znai y (0.1) 1.205 i z (0.1) = y (0.1) 2.075.

8.3.

Viekorane metode

Koriste se jer zahtijevaju manje izvrednjavanja funkcije nego RK metode. Na primjer, jedan prediktorkorektor (PC) par (samo ime mu kae i ulogu) reda 4 je: prediktor yn+1 = yn + korektor yn+1 = yn +
(j ) (0)

h (55f (xn , yn ) 59f (xn1 , yn1 ) + 37f (xn2 , yn2 ) 9f (xn3 , yn3 )) 24

h (j ) (9f (xn+1 , yn+1 ) 19f (xn , yn ) 5f (xn1 , yn1 ) + f (xn2 , yn2 )). 24

Ako se korektor koristi jednom (oito je mogua i viestruka upotreba), onda se (j ) za novi korak raunaju tono dvije funkcijske vrijednosti: f (xn , yn ) i f (xn+1 , yn+1 ), a sve ostale su ve morale biti izraunane u prethodnim koracima. (Uoite da odgovarajua RK4 ima 4 izvrednjavanja funkcije.) Neugoda koritenja viekoranih metoda su toke potrebne za start metode. U naem sluaju PC para reda 4 za start metode potrebno je znanje funkcijskih vrijednosti u tokama x0 , x1 , x2 i x3 .

8.4.

Krute (sti) diferencijalne jednadbe

Najvanija upotreba viekoranih metoda je rjeavanje (sistema) krutih diferencijalnih jednadbi. Najpoznatija metoda poznata je kao Gearova metoda (po Williamu C. Gear-u) i sastoji se od Adams prediktora i korektora varijabilnog reda i varijabilnog koraka. Za diferencijalnu jednadbu rei emo da je kruta, ako mala perturbacija poetnih uvjeta dovede do velike perturbacije u rjeenju problema. Primjer 8.2. Zadana je diferencijalna jednadba y = 10(y x) 9, y (0) = 1.

8.4. Krute (sti) diferencijalne jednadbe

185

Ope rjeenje ove diferencijalne jednadbe je y (x) = ce10x + x + 1. Partikularno rjeenje za ovaj poetni uvjet je y = x + 1. Ako malo perturbiramo poetni uvjet na y (0) = 1 + , onda je partikularno rjeenje te jednadbe y = e10x + x + 1. Primijetite da je prvi faktor s desne strane dominirajui za malo vee x. to e se u raunalu dogoditi s tom jednadbom? Greke zaokruivanja i pogreke u svakom koraku metode djelovat e kao perturbacija poetnih uvjeta, pa e se RK i sline metode raspasti rezultati nee imati nikakve veze s pravim rjeenjem.

You might also like