You are on page 1of 26

Runge Kutta metode za numeričko rješavanje

diferencijalnih jednadžbi

Ćosić, Dunja

Undergraduate thesis / Završni rad

2018

Degree Grantor / Ustanova koja je dodijelila akademski / stručni stupanj: Josip Juraj
Strossmayer University of Osijek, Department of Mathematics / Sveučilište Josipa Jurja
Strossmayera u Osijeku, Odjel za matematiku

Permanent link / Trajna poveznica: https://urn.nsk.hr/urn:nbn:hr:126:857446

Rights / Prava: In copyright

Download date / Datum preuzimanja: 2022-04-10

Repository / Repozitorij:

Repository of Department of Mathematics Osijek


Sveučilište J. J. Strossmayera u Osijeku
Odjel za matematiku
Sveučilišni preddiplomski studij
matematike

Dunja Ćosić

Runge Kutta metode za numeričko rješavanje


diferencijalnih jednadžbi

Završni rad

Osijek, 2018.
Sveučilište J. J. Strossmayera u Osijeku
Odjel za matematiku
Sveučilišni preddiplomski studij
matematike

Dunja Ćosić

Runge Kutta metode za numeričko rješavanje


diferencijalnih jednadžbi

Završni rad

Voditelj: prof. dr. sc. Kristian Sabo

Osijek, 2018.
Runge Kutta methods for numerical solving differential equations

Sažetak U ovome radu ukratko ćemo se upoznati s Runge Kutta metodama za numeričko
rješavanje diferencijalnih jednadžbi. U uvodnom dijelu rada su opisane Runge Kutta metode i
dan je primjer za rješavanje Runge Kutta drugog reda. Glavni dio rada bavi se izvodom Runge
Kutta metode četvrtog reda, a na kraju su dani pripadni primjeri.

Ključne riječi Runge Kutta metode, diferencijalna jednadžba, izvod

Abstract In this paper we will be introduced to the Runge Kutta methods for numerical
solving differential equations. In first part of paper we described Runge Kutta methods and we
given example for solving second order Runge Kutta. The main part of the paper refers to
proof of the fourth order Runge Kutta, and at the end we given two examples.

Key words Runge Kutta methods, differential equation, the proof


Sadržaj
1 Uvod 1

2 Runge Kutta metode 2


2.1 Opći oblik Runge Kutta metode . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.2 Runge Kutta metoda prvoga reda (RK-1) . . . . . . . . . . . . . . . . . . . . . . . . . 2
2.3 Runge Kutta metode drugoga reda (RK-2) . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.4 Primjer Runge Kutta metode drugog reda . . . . . . . . . . . . . . . . . . . . . . . . . 3

3 Runge Kutta metode četvrtog reda (RK-4) 5


3.1 Izvod . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.1 Primjeri Runge Kutta metode četvrtoga reda . . . . . . . . . . . . . . . . . . . 15
3.2 Rješavanje sustava diferencijalnih jednadžbi Runge Kutta metodom . . . . . . . . . 18
1 Uvod
Mnogi matematički modeli koji se pojavljuju u različitim primjenama mogu se opisati po-
moću običnih diferencijalnih jednadžbi. Vrlo često obične diferencijalne jednadžbe nije mo-
guće riješiti egzaktno te su u tu svrhu razvijene numeričke metode za njihovo približno rješa-
vanje. Jedna od najpoznatijih klasa metoda za numeričko rješavanje običnih diferencijalnih
jednadžbi jesu Runge Kutta metode.
U ovome radu razmatramo Runge Kutta metode za numeričko rješavanje običnih diferen-
cijalnih jednadžbi. Rad se sastoji od četiri poglavlja. U drugom poglavlju dajemo opći zapis
Runge Kutta metoda te izvodimo eksplicitne formule za Runge Kutta metode prvog i drugog
reda. Pokazuje se da Runge Kutta metoda prvog reda odgovara Eulerovoj metodi. Najvažniji
dio rada sadržan je u trećem poglavlju u kojem izvodimo eksplicitne formule za Runge Kutta
metodu četvrtog reda. U četvrtom poglavlju bavimo se rješavanjem sustava diferencijalnih
jednadžbi pomoću Runge Kutta metode. Za svaku od spomenutih metoda dani su ilustrativni
primjeri.

1
2 Runge Kutta metode
Prije samog definiranja Runge Kutta metode razmotrit ćemo zašto nam je uopće potrebno
numeričko rješavanje diferencijalnih jednadžbi. Promatramo sljedeći problem (vidi [3]):

Za danu funkciju f (x, y) treba pronaći funkciju y(x), y : [a, b] → R gdje je x ∈ [x 0 , b] koja zado-
voljava diferencijalnu jednadžbu prvoga reda

dy
= f (x, y), (1)
dx
uz početni uvjet
y(x 0 ) = y 0 . (2)

Problem (1)-(2) poznat je kao inicijalni ili Cauchyjev problem (vidi [4]). Postoje slučajevi u
kojima se ovakav problem može egzaktno riješiti, ali najčešće nailazimo na problem koji mo-
ramo riješiti aproksimativno. Kao primjer jednog takvog problema možemo uzeti Cauchyjevu
zadaću y 0 = e y −1 ,y(0) = 1 (vidi[2]). Jedan od načina rješavanja je pomoću Runge Kutta metode
koju ćemo opisati u daljnjem tekstu.

2.1 Opći oblik Runge Kutta metode


Da bismo riješili dani Cauchyjev problem potrebno je napraviti subdiviziju segmenta [a, b]:

a = x 0 , x 1 , x 2 , . . . , x n = b.

Označimo s h=x i +1 − x i , i = 0, . . . , n − 1. Vrijednost y i +1 u točki x i +1 računamo pomoću poznate


vrijednosti y i u točki x i . Opći oblik Runge Kutta metode odred̄en je formulom
m
c i k i(k)
X
y k+1 = y k + h
i =1

gdje je k = 0, . . . , n − 1, m red metode, a k i(k) je dan izrazom


à !
iX
−1
k i(k) = f x k + αi h, y k + h βi j k (k)
j
, i = 1, . . . , m.
j =1

2.2 Runge Kutta metoda prvoga reda (RK-1)


Koristeći opći oblik Runge Kutta metode dobivamo

y k+1 = y k + hc 1 k 1(k) = y k + hc 1 f (x k , y k ) (3)

Nadalje, razvijemo li izraz y k+1 =y(x k + h) u Taylorov red oko točke x k dobivamo

y k+1 = y(x k + h) = y(x k ) + h y 0 (x k ) + O(h 2 ) = y k + h f (x k , y k ) + O(h 2 ). (4)

Usporedbom izraza (3) i (4) vidimo da postoji točno jedna Runge Kutta metoda prvoga reda, a
to je upravo Eulerova metoda (vidi [5]).

2
2.3 Runge Kutta metode drugoga reda (RK-2)
Kao kod Runge Kutta metode prvoga reda koristit ćemo opći oblik pa dobivamo

y k+1 = y k + h(c 1 k 1(k) + c 2 k 2(k) ),

pri čemu su
k 1(k) = f (x k , y k )

k 2(k) = f (x k + α2 h, y k + hβ21 k 1(k) ).


Treba odrediti koeficijente α2 , β21 , c 1 i c 2 . Pripadni koeficijenti neće biti jednoznačno odre-
d̄eni pa će Runge Kutta metoda drugoga reda biti beskonačno mnogo (vidi [3]). Izvodom bi-
smo dobili da Runge Kutta metode drugoga reda moraju zadovoljavati sljedeće uvjete:

c1 + c2 = 1
1
c 2 α2 =
2
1
c 2 β21 = .
2
Najčešća varijanta Runge Kutta metode drugoga reda za koeficijente uzima α2 = 1, c 2 = 12 ,
c 1 = 12 , β21 = 1 pa tada dobivamo

h (k)
y k+1 = y k + (k + k 2(k) )
2 1
k 1(k) = f (x k , y k )

k 2(k) = f (x k + h, y k + h f (x k , y k ))
Pripadna metoda naziva se Heuneova metoda. Uzmemo li α2 = 12 , c 2 = 1, c 1 = 0, β21 = 1
2
dobi-
vamo standardnu RK-2 metodu koja je oblika

y k+1 = y k + hk 2(k)

k 1(k) = f (x k , y k )
h 1
k 2(k) = f (x k + , y k + h f (x k , y k )).
2 2

2.4 Primjer Runge Kutta metode drugog reda


Primjer 2.1.
Pomoću Heuneove metode riješiti jednadžbu y 0 = −x 2 y s početnim uvjetom y(0) = 2 na [0, 3] uz
korak 0.5.

Rješenje:
Elementi subdivizije segmenta [0, 3] glase x i = x 0 + i h = 0.5i , i = 0, . . . , 6. Potrebno je odrediti
vrijednosti y k+1 za k = 0, . . . , 5. Rezultate ćemo zapisati u tablicu.

3
Zapišimo najprije opći oblik Heuneove metode:

y k+1 = y k + h2 (k 1(k) + k 2(k) )


k 1(k) = f (x k , y k )
k 2(k) = f (x k + h, y k + h f (x k , y k ))

Odredimo sada y 1 .

y 1 = y 0 + h2 (k 1(0) + k 2(0) )
k 1(0) = f (x 0 , y 0 ) = f (0, 2) = 0
k 2(0) = f (x 0 + h, y 0 + h f (x 0 , y 0 )) = f (0.5, 2) = −0.5

Vratimo k 1(0) i k 2(0) u y 1 i dobivamo

y 1 = 2 + 0.5
2
(0 + (−0.5)) = 1.875

Ponovimo postupak kako bi pronašli preostale vrijednosti y 2 , . . . , y 6

y 2 = y 1 + h2 (k 1(1) + k 2(1) )
k 1(1) = f (x 1 , y 1 ) = f (0.5, 1.875) = −0.46875
k 2(1) = f (x 1 + h, y 1 + h f (x 1 , y 1 )) = f (1, 1.640625) = −1.640625
y 2 = 1.34766

y 3 = y 2 + h2 (k 1(2) + k 2(2) )
k 1(2) = f (x 2 , y 2 ) = f (1, 1.34766) = −1.34766
k 2(2) = f (x 2 + h, y 2 + h f (x 2 , y 2 )) = f (1.5, 0.67383) = −1.51612
y 3 = 0.63172

y 4 = y 3 + h2 (k 1(3) + k 2(3) )
k 1(3) = f (x 3 , y 3 ) = f (1.5, 0.63172) = −1.42137
(3)
k 2 = f (x 3 + h, y 3 + h f (x 3 , y 3 )) = f (2, −0.078965) = 0.31586
y 4 = 0.35534

y 5 = y 4 + h2 (k 1(4) + k 2(4) )
k 1(4) = f (x 4 , y 4 ) = f (2, 0.35534) = −1.42136
k 2(4) = f (x 4 + h, y 4 + h f (x 4 , y 4 )) = f (2.5, −0.35534) = 2.220875
y 5 = 0.55522

y 6 = y 5 + h2 (k 1(5) + k 2(5) )
k 1(5) = f (x 5 , y 5 ) = f (2.5, 0.55522) = −3.470125
k 2(5) = f (x 5 + h, y 5 + h f (x 5 , y 5 )) = f (3, −1.1798425) = 10.618583
y 6 = 2.34233

4
k xk yk

0 0 2

1 0.5 1.875

2 1 1.34766

3 1.5 0.63172

4 2 0.35534

5 2.5 0.55522

6 3 2.34233

Tablica 1: Cauchyjev problem y 0 = −x 2 y, y(0)=2, x ∈ [0, 3]

3 Runge Kutta metode četvrtog reda (RK-4)


Runge Kutta metoda četvrtog reda je oblika

y k+1 = y k + h(c 1 k 1(k) + c 2 k 2(k) + c 3 k 3(k) + c 4 k 4(k) ), (5)


pri čemu su

k 1(k) = f (x k , y k )
k 2(k) = f (x k + α2 h, y k + hβ21 k 1(k) )
k 3(k) = f (x k + α3 h, y k + h(β31 k 1(k) + β32 k 2(k) ))
k 4(k) = f (x k + α4 h, y k + h(β41 k 1(k) + β42 k 2(k) + β43 k 3(k) ))

za k = 0, . . . , n − 1, c 1 , c 2 , c 3 , c 4 ∈ R, α2 , α3 , α4 , β21 , β31 , β32 , β41 , β42 , β43 ∈ R.

3.1 Izvod
Razvoj funkcije y(x k + h) u Taylorov red oko točke x k glasi:

h 2 00 h 3 000 h 4 (4)
y k+1 = y(x k + h) = y(x k ) + h y 0 (x k ) + y (x k ) + y (x k ) + y (x k ) + O(h 5 ).
2 3! 4!

5
Znamo da je f (x, y) = y 0 (x). Potrebno je odrediti derivacije y 00 , y 000 i y (4) .

d2y d
y 00 (x) = = f (x, y) = f x + f y f
d x2 d x
d 00
y 000 (x) = (y (x)) = f xx + f x y f + ( f x y + f y y f ) f + f y ( f x + f y f ) = f xx + 2 f x y f + f y y f 2 + f x f y + f y2 f
dx
(4) d 000
y (x) = (y (x)) = f xxx + f xx y f + (2 f xx y + 2 f x y y f ) f + (2 f x + 2 f y f ) f x y
dx
+ ( f x y y + f y y y f ) f 2 + 2 f ( f x + f y f ) f y y + ( f xx + f x y f ) f y + ( f x y + f y y f ) f x
+ 2 f y ( f x y + f y y f ) f + ( f x + f y f ) f y2 = f xxx + f xx y f + 2 f xx y f + 2 f x y y f 2
+ 2 f x f x y + 2 f y f x y f + f x y y f 2 + f y y y f 3 + 2 f x f y y f + 2 f y f y y f 2 + f xx f y
+ f x y f y f + f x y f x + f y y f x f + 2 f y f x y f + 2 f y f y y f 2 + f x f y2 + f y3 f
= f xxx + 3 f xx y f + 3 f x y y f 2 + 3 f x y f x + 5 f x y f y f
+ f y y y f 3 + 3 f x f y y f + 4 f y f y y f 2 + f xx f y + f x f y2 + f y3 f .

Sada imamo:

h2
y k+1 = y k + h f (x k , y k ) + ( f x + f y f )
2
h3
+ ( f xx + 2 f x y f + f y y f 2 + f x f y + f y2 f )
6
h4
+ ( f xxx + 3 f xx y f + 3 f x y y f 2 + 3 f x y f x
24
+ 5 f x y f y f + f y y y f 3 + 3 f x f y y f + 4 f y f y y f 2 + f xx f y + f x f y2 + f y3 f ) (6)

S druge strane, razvijamo u Taylorov red koeficijente k 2(k) , k 3(k) , k 4(k) pri čemu koristimo oznake
γ1 = β21 k 1(k) , γ2 = β31 k 1(k) + β32 k 2(k) , γ3 = β41 k 1(k) + β42 k 2(k) + β43 k 3(k) :

h2
k 2(k) = f + hα2 f x + hγ1 f y + (α2 f x + γ1 f y )2
2
h3
+ (α2 f x + γ1 f y )3 + O(h 4 ) = f + hα2 f x + hγ1 f y
6
h2
+ (α22 f xx + 2α2 γ1 f x y + γ21 f y y )
2
h3 3
+ (α2 f xxx + 3α22 γ1 f xx y + 3α2 γ21 f x y y + γ31 f y y y ) + O(h 4 ),
6

h2
k 3(k) = f + hα3 f x + hγ2 f y + (α3 f x + γ2 f y )2
2
h3
+ (α3 f x + γ2 f y )3 + O(h 4 ) = f + hα3 f x + hγ2 f y
6
h2
+ (α23 f xx + 2α3 γ2 f x y + γ22 f y y )
2
h3 3
+ (α3 f xxx + 3α23 γ2 f xx y + 3α3 γ21 f x y y + γ32 f y y y ) + O(h 4 ),
6

6
te
h2
k 4(k) = f + hα4 f x + hγ3 f y + (α4 f x + γ3 f y )2
2
h3
+ (α4 f x + γ3 f y )3 + O(h 4 ) = f + hα4 f x + hγ3 f y
6
h2
+ (α24 f xx + 2α4 γ3 f x y + γ23 f y y )
2
h3 3
+ (α4 f xxx + 3α24 γ3 f xx y + 3α4 γ23 f x y y + γ33 f y y y ) + O(h 4 ).
6
Kada u y k+1 − y k = h(c 1 k 1(k) + c 2 k 2(k) + c 3 k 3(k) + c 4 k 4(k) ) uvrstimo gore raspisane koeficijente dobi-
vamo
h2
y k+1 − y k = h c 1 f + c 2 ( f + hα2 f x + hγ1 f y + (α22 f xx + 2α2 γ1 f x y
£
2
3
h
+ γ21 f y y ) + (α32 f xxx + 3α22 γ1 f xx y + 3α2 γ21 f x y y
6
h2
+ γ31 f y y y ) + O(h 4 )) + c 3 ( f + hα3 f x + hγ2 f y + (α23 f xx + 2α3 γ2 f x y
2
3
h
+ γ22 f y y ) + (α33 f xxx + 3α23 γ2 f xx y + 3α3 γ21 f x y y
6
h2
+ γ32 f y y y ) + O(h 4 )) + c 4 ( f + hα4 f x + hγ3 f y + (α24 f xx + 2α4 γ3 f x y
2
3
h i
+ γ23 f y y ) + (α34 f xxx + 3α24 γ3 f xx y + 3α4 γ23 f x y y + γ33 f y y y ) + O(h 4 )) (7)
6
Sada uspored̄ujemo (6) i (7).
Izjednačavanjem dobivamo:
• Uz f :
h = h(c 1 + c 2 + c 3 + c 4 )
odakle imamo

c1 + c2 + c3 + c4 = 1 (8)

• Uz f x :
h2
= h(c 2 hα2 + c 3 hα3 + c 4 hα4 )
2
odakle imamo

1
c 2 α2 + c 3 α3 + c 4 α4 = (9)
2
• Uz f y f :
h2
= h(c 2 β21 h + c 3 (β31 h + β32 h) + c 4 (β41 h + β42 h + β43 h))
2
odakle imamo

1
c 2 β21 + c 3 (β31 + β32 ) + c 4 (β41 + β42 + β43 ) = (10)
2

7
• Uz f xx :
h3 h2 2 h2 2 h2 2
= h(c 2 α2 + c 3 α3 + c 4 α4 )
6 2 2 2
odakle imamo

1
c 2 α22 + c 3 α23 + c 4 α24 = (11)
3
• Uz f x y f :

h3 h2 h2 h2
2 = h(c 2 2α2 β21 + c 3 (2α3 β31 + 2α3 β32 ) + c 4 (2α4 β41 + 2α4 β42 + 2α4 β43 ))
6 2 2 2
odakle imamo

1
c 2 α2 β21 + c 3 α3 (β31 + β32 ) + c 4 α4 (β41 + β42 + β43 ) = (12)
3
• Uz f y y f 2 :

h3 h2 2 h2 2 h2 h2 2 h2 2 h2 2 h2 2
= h(c 2 β21 + c 3 ( β31 + 2β31 β32 + β32 ) + c 4 ( β41 + β42 + β43
6 2 2 2 2 2 2 2
h2 h2 h2
+ 2 β41 β42 + 2 β41 β43 + 2 β42 β43 ))
2 2 2
odakle imamo

1
c 2 β221 + c 3 (β31 + β32 )2 + c 4 (β41 + β42 + β43 )2 = (13)
3
• Uz f x f y :

h3
= h(c 3 hhβ32 α2 + c 4 (hβ42 hα2 + hβ43 hα3 ))
6
odakle imamo

1
c 3 β32 α2 + c 4 (β42 α2 + β43 α3 ) = (14)
6
• Uz f y2 f :

h3
= h(c 3 hβ32 hβ21 + c 4 (hβ42 hβ21 + hβ43 hβ31 + hβ43 hβ32 ))
6
odakle imamo

1
c 3 β32 β21 + c 4 (β42 β21 + β43 β31 + β43 β32 ) = (15)
6
• Uz f xxx :
h4 h3 3 h3 3 h3 3
= h(c 2 α2 + c 3 α3 + c 4 α4 )
24 6 6 6
odakle imamo

1
c 2 α32 + c 3 α33 + c 4 α34 = (16)
4

8
• Uz f xx y f :

h4 h3 h3 h3
3 = h(c 2 3α22 β21 + c 3 ( 3α23 β31 + 3α23 β32 )
24 6 6 6
h3 2 h3 2 h3 2
+ c 4 ( 3α4 β41 + 3α4 β42 + 3α4 β43 ))
6 6 6
odakle imamo

1
c 2 α22 β21 + c 3 α23 (β31 + β32 ) + c 4 α24 (β41 + β42 + β43 ) = (17)
4

• Uz f x y y f 2 :

h4 h3 h3 h3 h3
3 = h(c 2 3α2 β221 + c 3 ( 3α3 β231 + 3α3 β232 + 3α3 2β31 β32 )
24 6 6 6 6
3 3 3 3
h h h h
+ c 4 ( 3α4 β241 + 3α4 β242 + 3α4 β243 + 3α4 2β41 β42
6 6 6 6
h3 h3
+ 3α4 2β41 β43 + 3α4 2β42 β43 ))
6 6
odakle imamo

1
c 2 α2 β221 + c 3 α3 (β31 + β32 )2 + c 4 α4 (β41 + β42 + β43 )2 = (18)
4
• Uz f x y f x :

h4 h2 h2 h2
3 = h(c 3 2α3 β32 hα2 + c 4 ( 2α4 β42 hα2 + 2α4 β43 hα3 ))
24 2 2 2
odakle imamo

1
c 3 α2 α3 β32 + c 4 α4 (α2 β42 + α3 β43 ) = (19)
8
• Uz f x y f y f :

h4 h2 h2
5 = h(c 3 ( 2α3 β32 hβ21 + β32 hα2 β21 h 2 ) + c 4 ( 2α2 β21 hβ42
24 2 2
2 2 2
h h h
+ 2α4 β43 hβ31 + 2α4 β43 hβ32 + 2α3 β43 hβ31
2 2 2
h2 h2
+ 2α3 β43 hβ32 + 2α4 β21 hβ42 ))
2 2
odakle imamo

5
c 3 β32 β21 (α2 +α3 )+c 4 (α2 β21 β42 +α4 β21 β42 +α4 β43 (β31 +β32 )+α3 β43 (β31 +β32 )) = (20)
24

9
• Uz f y y y f 3 :

h4 h3 h3 h3 h3 h3 h3
= h(c 2 β321 + c 3 ( β331 + β332 + 3β231 β32 + 3β31 β232 ) + c 4 ( β341
24 6 6 6 6 6 6
3 3 3 3 3 3
h h h h h h
+ β342 + β343 + 3β241 β42 + 3β41 β242 + 3β241 β43 + 3β41 β243
6 6 6 6 6 6
h3 2 h3
+ 3β42 β43 + 3β42 β243 ))
6 6
odakle imamo

1
c 2 β321 + c 3 (β31 + β32 )3 + c 4 (β41 + β42 + β43 )3 = (21)
4
• Uz f x f y y f :

h4 h2 h2 h2
3 = h(c 3 ( β232 2α2 h + β31 β32 h 2 α2 h) + c 4 ( β242 2α2 h + β243 2α3 h
24 2 2 2
h2 h2 h2 h2
+ 2β41 β42 α2 h + 2β41 β43 α3 h + 2β42 β43 α2 h + 2β42 β43 α3 h))
2 2 2 2
odakle imamo

1
c 3 α2 β32 (β31 + β32 ) + c 4 (α2 β42 (β41 + β42 + β43 ) + α3 β43 (β41 + β42 + β43 )) = (22)
8
• Uz f y f y y f 2 :

h4 h2 h2 2 h2 h2 h2
4 = h(c 3 (h β32 β21 + h 2β32 β21 + h 2β31 β32 β21 ) + c 4 (h β42 β21 + h β43 β231
2 2
24 2 2 2 2 2
h2 h 2
h 2
h 2
h 2
+ h β43 β232 + h 2β43 β31 β32 + h 2β242 β21 + h 2β243 β31 + h 2β243 β32
2 2 2 2 2
2 2 2 2
h h h h
+ h 2β41 β42 β21 + h 2β41 β43 β31 + h 2β41 β43 β32 + h 2β42 β43 β21
2 2 2 2
h2 h2
+ h 2β42 β43 β31 + h 2β42 β43 β32 ))
2 2
odakle imamo

1 1 1 1 1
c 3 ( β32 β221 + β232 2β21 + β31 β32 β21 ) + c 4 ( β42 β221 + β43 ( β231 + β232 + β31 β32)+
2 2 2 2 2
1
β242 β21 + β243 β31 + β243 β32 + β41 β42 β21 + β41 β43 (β31 + β32 ) + β42 β43 (β21 + β31 + β32 )) =
6
(23)

• Uz f xx f y :

h4 h2 h2 h2
=h(c 3 h β32 α22 + c 4 (h β42 α22 + h β43 α23 ))
24 2 2 2
odakle imamo

1
c 3 α22 β32 + c 4 (α22 β42 + α23 β43 ) = (24)
12

10
• Uz f x f y2 :

h4
= h(c 4 hβ43 hβ32 hα2 )
24
odakle imamo

1
c 4 α2 β32 β43 = (25)
24

• Uz f y3 f :

h4
=h(c 4 hβ43 hβ32 hβ21 )
24
odakle imamo

1
c 4 β21 β32 β43 = (26)
24

Sada izjednačavanjem (1) i (1) imamo α2 =β21


Izjednačavanjem (14) i (15) imamo
c 3 β32 α2 + c 4 (β42 α2 + β43 α3 ) = c 3 β32 β21 + c 4 (β42 β21 + β43 β31 + β43 β32 )
β43 α3 = β43 β31 + β43 β32
α3 = β31 + β32
Izjednačavanjem (16) i (17) imamo
c 2 α32 + c 3 α33 + c 4 α34 = c 2 α22 β21 + c 3 α23 (β31 + β32 ) + c 4 α24 (β41 + β42 + β43 )
α4 = β41 + β42 + β43
1
Iz (9) i (10) imamo c 2 α2 + c 3 α3 + c 4 α4 =
2
1
Iz (11), (12) i (13) imamo c 2 α22 + c 3 α23 + c 4 α24 =
3
1
Iz (18) i (21) imamo c 2 α32 + c 3 α33 + c 4 α34 =
4
Iz (8) imamo c 1 + c 2 + c 3 + c 4 = 1
1
Iz (14) i (15) imamo c 3 α2 β32 + c 4 (α2 β42 + α3 β43 ) =
6
1
Iz (19) i (22) imamo c 3 α2 α3 β32 + c 4 α4 (α2 β42 + α3 β43 ) =
8
1
Iz (24) imamo c 3 α22 β32 + c 4 (α22 β42 + α23 β43 ) = (!)
12
1
Iz (25) i (26) imamo c 4 α2 β32 β43 =
24
Iz (20) imamo
5
c 3 β32 β21 (α2 + α3 ) + c 4 (α2 β21 β42 + α4 β21 β42 + α4 β43 (β31 + β32 ) + α3 β43 (β31 + β32 )) = 24
5
c 3 β32 α22 + c 3 β32 α2 α3 + c 4 β42 α22 + c 4 α4 α2 β42 + c 4 α4 α3 β43 + c 4 α23 β43 = 24
c 3 α22 β32 + c 4 (α22 β42 + α23 β43 ) +c 3 β32 α2 α3 + c 4 α2 α4 β42 + c 4 α3 α4 β43 = 24
5
| {z }
1
prema (!) = 12

11
c 3 α2 α3 β32 + c 4 α4 (α2 β42 + α3 β43 ) = 18 (to smo već dobili iz (19) i (22))
Iz (23) imamo
c 3 ( 21 β32 β221 + 12 β232 2β21 + β31 β32 β21 ) + c 4 ( 12 β42 β221 + β43 ( 21 β231 + 12 β232 + β31 β32 ) + β242 β21 + β243 β31 +
β243 β32 + β41 β42 β21 + β41 β43 (β31 + β32 ) + β42 β43 (β21 + β31 + β32 )) = 61
1
c α2 β + 12 c 4 (α22 β42 + α23 β43 ) + c 3 β21 β32 (β31 + β32 ) + c 4 β21 β42 (β41 + β42 + β43 ) + c 4 α3 β43 (β41 +
2 3 2 32
β42 + β43 ) = 61
c 3 β21 β32 (β31 +β32 )+c 4 β21 β42 (β41 +β42 +β43 )+c 4 α3 β43 (β41 +β42 +β43 ) = 81 (to smo već dobili
iz (19))
Sada imamo sustav od 11 jednadžbi s 13 nepoznanica:
β21 = α2
β31 + β32 = α3
β41 + β42 + β43 = α4
c 2 α2 + c 3 α3 + c 4 α4 = 21
c 2 α22 + c 3 α23 + c 4 α24 = 13
c 2 α32 + c 3 α33 + c 4 α34 = 14
c1 + c2 + c3 + c4 = 1
c 3 α2 β32 + c 4 (α2 β42 + α3 β43 ) = 61
c 3 α2 α3 β32 + c 4 α4 (α2 β42 + α3 β43 ) = 18
1
c 3 α22 β32 + c 4 (α22 β42 + α23 β43 ) = 12
1
c 4 α2 β32 β43 = 24

12
Obzirom da je broj nepoznanica veći od broja jednadžbi, dvije nepoznanice odabiremo pro-
izvoljno.
Uzmimo β31 = 0, α2 = 21 . Sada imamo

1
β21 =
2
β32 = α3
β41 + β42 + β43 = α4
1 1
2 c 2 + c 3 α3 + c 4 α4 = 2
1
c + c 3 α23 + c 4 α24 = 13
4 2
1
c + c 3 α33 + c 4 α34 = 14
8 2
c1 + c2 + c3 + c4 = 1
1 1 1
2 c 3 α3 + c 4 ( 2 β42 + α3 β43 ) = 6
1 1 1
2 c 3 α3 + c 4 α4 ( 2 β42 + α3 β43 ) = 8
2
1 1 1
4 c 3 α3 + c 4 ( 4 β42 + α3 β43 ) = 12
2
1 1
c α β = 24
2 4 3 43

1
c α + 12 c 4 β42 + c 4 α3 β43 = 16
2 3 3
1
c α2 + 12 c 4 α4 β42 + c 4 α4 α3 β43 = 81
2 3 3
1 1 1
4 c 3 α3 + 4 c 4 β42 + c 4 α3 β43 = 12
2
1 1 1
2 c 4 α3 β43 = 24 ⇒ c 4 α3 β43 = 12

1
c α + 21 c 4 β42 = 12
2 3 3
1
/ · (−1)
1
c α + 2 c 4 α4 β42 + 12 α4 = 18
2 3 3
2 1 1
1
c α + 14 c 4 β42 + 12
4 3 3
1
α3 = 12 1
/·2

− 12 c 3 α3 − 21 c 4 β42 = − 12
1
1 1 1 1
2 c 3 α3 + 2 c 4 α4 β42 + 12 α4 = 8
2
1
c α + 21 c 4 β42 + 16 α3 = 61
2 3 3

Zbrojimo 1. i 3. jednadžbu i dobivamo


1 1
6 α3 = 12
1 1
α3 = ⇒ β32 =
2 2

Sada dobivamo sustav:


β41 + β42 + β43 = α4
1
c + 12 c 3 + c 4 α4 = 12
2 2
1 1 1
4 c 2 + 4 c 3 + c 4 α4 = 3
2
1 1 1
8 c 2 + 8 c 3 + c 4 α4 = 4
3

c1 + c2 + c3 + c4 = 1
1
c + 12 c 4 α4 β42 + 12 c 4 α4 β43 = 18
8 3
1
c + 14 c 4 β42 + 14 c 4 β43 = 12
8 3
1

c 4 β43 = 16

β41 + β42 + β43 = α4


c 2 + c 3 + 2c 4 α4 = 1

13
c 2 + c 3 + 4c 4 α24 = 34
c 2 + c 3 + 8c 4 α34 = 2
c1 + c2 + c3 + c4 = 1
c 3 + 4c 4 α4 β42 + 32 α4 = 1
c 3 + 2c 4 β42 = 13
c 4 β43 = 61
Pomoću Gaussovih eliminacija rješavamo sustav

c 2 + c 3 + 2c 4 α4 = 1


c 2 + c 3 + 4c 4 α24 = 34

c + c + 8c α3 = 2

2 3 4 4

po nepoznanicama c 2 , c 3 , c 4 :
     
1 1 2α4 | 1 1 1 2α4 | 1 1 1 2α4 | 1
1 1 4α24 | 43  ∼ 0 0 4α24 − 2α4 | 31  ∼ 0 0 4α24 − 2α4 | 1
     
3 
2 2
3
1 1 8α4 | 2 3
0 0 8α4 − 2α4 | 1 0 0 0 | − 3 α4 + 3
Sada slijedi:
− 32 α4 + 23 = 0
α4 = 1
(4α24 − 2α4 )c 4 = 13
2c 4 = 13
1
c4 = .
6
Sada je naš sustav oblika:

β41 + β42 + β43 = 1


c 1 + c 2 + c 3 = 56
c 2 + c 3 + 13 = 1
c 3 + 4 16 β42 + 32 = 1
c 3 + 2 16 β42 = 31
1
β = 16
6 43

β41 + β42 + β43 = 1


c 1 + c 2 + c 3 = 56
c 2 + c 3 = 23
c 3 + 23 β42 = 13
c 3 + 13 β42 = 13
β43 = 1

Riješimo sada sustav:


5
c1 + c2 + c3 =
6
2
c2 + c3 =
3

14
−c 1 = − 16
1
c1 =
6
c 2 + c 3 = 23
1
c2 =
3

Riješimo i sustav

2 1
c 3 + β42 =
3 3
1 1
c 3 + β42 =
3 3

− 13 β42 = 0
β42 = 0
1
c3 =
3

Sada imamo
β41 + β42 + β43 = 1
β41 = 0
Rješavajući Runge Kutta sustav dobili smo parametre
c 1 = 16 , c 2 = 13 , c 3 = 13 , c 4 = 16
α2 = 12 , α3 = 12 , α4 = 1
β21 = 12 , β31 = 0, β32 = 12 , β41 = 0, β42 = 0, β43 = 1
Runge Kutta metoda četvrtog reda je oblika

y k+1 = y k + h(c 1 k 1(k) + c 2 k 2(k) + c 3 k 3(k) + c 4 k 4(k) )


y k+1 = y k + h( 61 k 1(k) + 31 k 2(k) + 31 k 3(k) + 16 k 4(k) )
y k+1 = y k + h6 (k 1(k) + 2k 2(k) + 2k 3(k) + k 4(k) )
k 1(k) = f (x k , y k )
k 2(k) = f (x k + h2 , y k + h2 k 1(k) )
k 3(k) = f (x k + h2 , y k + h2 k 2(k) )
k 4(k) = f (x k + h, y k + hk 3(k) )

3.1.1 Primjeri Runge Kutta metode četvrtoga reda

Primjer 3.1.
x 2 −y
Runge Kutta metodom četvrtoga reda riješite diferencijalnu jednadžbu y 0 = x
s početnim
uvjetom y(1) = 1 na [1, 2.2] uz korak 0.3.

Rješenje:
Elementi subdivizije segmenta [1, 2.2] glase x i = x 0 + i h = 0.5i , i = 0, . . . , 4. Potrebno je odrediti
vrijednosti y k+1 za k = 0, . . . , 3. Rezultate ćemo zapisati u tablicu.

15
Zapišimo najprije opći oblik Runge Kutta metode četvrtoga reda:

y k+1 = y k + h6 (k 1(k) + 2k 2(k) + 2k 3(k) + k 4(k) )


k 1(k) = f (x k , y k )
k 2(k) = f (x k + h2 , y k + h2 k 1(k) )
k 3(k) = f (x k + h2 , y k + h2 k 2(k) )
k 4(k) = f (x k + h, y k + hk 3(k) )

Odredimo sada y 1 .

y 1 = y 0 + h6 (k 1(0) + 2k 2(0) + 2k 3(0) + k 4(0) )


k 1(0) = f (x 0 , y 0 ) = f (1, 1) = 0
(0) 0.3 (0)
k 2 = f (1 + 0.3 2 , 1 + 2 k 1 ) = f (1.15, 1) = 0.2804
k 3(0) = f (1 + 0.3
2
, 1 + 0.3
2 2
k (0) ) = f (1.15, 1.0421) = 0.2438
k 4(0) = f (1 + 0.3, 1 + 0.3k 3(0) ) = f (1.3, 1.0731) = 0.4745

Vratimo k 1(0) , k 2(0) , k 3(0) i k 4(0) u y 1 i dobivamo

y 1 = 1 + 0.3
6
(0 + 2 · 0.2804 + 2 · 0.2438 + 0.4745) = 1.0761

Ponovimo postupak kako bi pronašli preostale y k+1 .

y 2 = y 1 + h6 (k 1(1) + 2k 2(1) + 2k 3(1) + k 4(1) )


k 1(1) = f (x 1 , y 1 ) = f (1.3, 1.0761) = 0.4722
k 2(1) = f (x 1 + h2 , y 1 + h2 k 1(1) ) = f (1.45, 1.1469) = 0.659
k 3(1) = f (x 1 + h2 , y 1 + h2 k 2(1) ) = f (1.45, 1.175) = 0.6397
k 4(1) = f (x 1 + h, y 1 + hk 3(1) ) = f (1.6, 1.268) = 0.8075
y 2 = 1.27

y 3 = y 2 + h6 (k 1(2) + 2k 2(2) + 2k 3(2) + k 4(2) )


k 1(2) = f (x 2 , y 2 ) = f (1.6, 1.27) = 0.8063
k 2 = f (x 2 + h2 , y 2 + h2 k 1(2) ) = f (1.75, 1.3909) = 0.9552
(2)

k 3(2) = f (x 2 + h2 , y 2 + h2 k 2(2) ) = f (1.75, 1.4133) = 0.9424


k 4(2) = f (x 2 + h, y 2 + hk 3(2) ) = f (1.9, 1.5527) = 1.0828
y 3 = 1.5542

16
y 4 = y 3 + h6 (k 1(3) + 2k 2(3) + 2k 3(3) + k 4(3) )
k 1(3) = f (x 3 , y 3 ) = f (1.9, 1.5542) = 1.082
k 2(3) = f (x 3 + h2 , y 3 + h2 k 1(3) ) = f (2.05, 1.7165) = 1.2127
k 3(3) = f (x 3 + h2 , y 3 + h2 k 2(3) ) = f (2.05, 1.7361) = 1.2031
k 4(3) = f (x 3 + h, y 3 + hk 3(3) ) = f (2.2, 1.9151) = 1.3295
y 4 = 1.9164

k xk yk

0 1 1

1 1.3 1.0761

2 1.6 1.27

3 1.9 1.5542

4 2.2 1.9164

x 2 −y
Tablica 2: Cauchyjev problem y 0 = x , y(1)=1, x ∈ [1, 2.2]

Primjer 3.2.
Promotrimo diferencijalnu jednadžbu y 0 = −x 2 y s početnim uvjetom y(0) = 2 na [0, 3] uz korak
0.5. Cilj ovoga primjera je grafički pokazati odstupanja dobivena rješavanjem dane jednadžbe
egzaktno, RK-2 te RK-4 metodom. Rješenja RK-2 i RK-4 metode prikazat ćemo u tablici.
Na grafu je egzaktno rješenje diferencijalne jednadžbe prikazano zelenom krivuljom. Točke
dobivene rješavanjem polazne diferencijalne jednadžbe RK-2 metodom prikazane su crvenom
bojom, a pripadni interpolacijski polinom odred̄en tim točkama dan je plavom bojom. Kao
rješenje diferencijalne jednadžbe RK-4 metodom takod̄er dobivamo točke i one su označene
žuto, a interpolacijski polinom kroz njih crvenom bojom.

Slika 1. Rješenje diferencijalne jednadžbe y 0 = −x 2 y

17
k xk y k (RK − 2) y k (RK − 4)

0 0 2 2

1 0.5 1.875 1.91827

2 1 1.34766 1.43276

3 1.5 0.63171 0.64947

4 2 0.3553 0.16617

5 2.5 0.55522 0.1031

6 3 2.34232 0.38036

Tablica 3: Cauchyjev problem y 0 = −x 2 y, y(0)=2, x ∈ [0, 3]

3.2 Rješavanje sustava diferencijalnih jednadžbi Runge Kutta metodom


Pomoću Runge Kutta metode možemo riješiti i sustave diferencijalnih jednadžbi (vidi [1] i [3]).
Za sustav:
y 0 = f (x, y, z)
z 0 = g (x, y, z)
y(x 0 ) = y 0 , z(x 0 ) = z 0
imamo:

y k+1 = y k + h6 (k 1(k) + 2k 2(k) + 2k 3(k) + k 4(k) )


z k+1 = z k + h6 (m 1(k) + 2m 2(k) + 2m 3(k) + m 4(k) )

gdje su:

k 1(k) = f (x k , y k , z k )
m 1(k)
k 2(k) = f (x k + h2 , y k + h2 k 1(k) , z k +2
)
(k)
m
k 3(k) = f (x k + h2 , y k + h2 k 2(k) , z k + 22 )
k 4(k) = f (x k + h, y k + hk 3(k) , z k + m 3(k) )

m 1(k) = g (x k , y k , z k )
m 1(k)
m 2(k) = g (x k + h2 , y k + h2 k 1(k) , z k +
2
)
(k)
(k) (k) m
m 3 = g (x k + h2 , y k + h2 k 2 , z k + 22 )
m 4(k) = g (x k + h, y k + hk 3(k) , z k + m 3(k) )

Diferencijalnu jednadžbu višeg reda možemo riješiti svod̄enjem na sustav diferencijalnih jed-
nadžbi 1. reda (vidi [3]). Ako je dan Cauchyjev problem:
y 00 = g (x, y, y 0 ), y(x 0 ) = α, y 0 (x 0 ) = β,
svodimo ga na sustav:
y 0 = z, y(x 0 ) = y 0
z 0 = g (x, y, z), z(x 0 ) = z 0
Taj sustav rješavamo Runge Kutta metodom:

18
y 1 = y 0 + h6 (k 1 + 2k 2 + 2k 3 + k 4 )
z 1 = z 0 + h6 (m 1 + 2m 2 + 2m 3 + m 4 )

k 1 = hz 0
k 2 = h(z 0 + m21 )
k 3 = h(z 0 + m22 )
k 4 = h(z 0 + m 3 )

m 1 = hg (x 0 , y 0 , z 0 )
m 2 = hg (x 0 + h2 , y 0 + k21 , z 0 + m21 )
m 3 = hg (x 0 + h2 , y 0 + k22 , z 0 + m22 )
m 4 = hg (x 0 + h, y 0 + k 3 , z 0 + m 3 )

Primjer 3.3.
Pomoću RK-4 metode riješite diferencijalnu jednadžbu y 00 + 2y 0 + 3x = 5 s početnim uvjetima
y(0) = 1, y 0 (0) = 2 na [0, 0.6] uz korak h = 0.2.

Rješenje:
Znamo x 0 = 0, y 0 = 1, z 0 = 2. Svodimo jednadžbu na sustav diferencijalnih jednadžbi 1. reda:
y 0 = z, y(0) = 1
y 00 = z 0 = 5 − 3x − 2z, y 0 (0) = 2
Riješimo sustav.

y 1 = y 0 + h6 (k 1(0) + 2k 2(0) + 2k 3(0) + k 4(0) )


k 1(0) = f (x 0 , y 0 , z 0 ) = f (0, 1, 2) = 2
m 1(0)
k 2(0) = f (x 0 + h2 , y 0 + h2 k 1(0) , z 0 + h 2
)= f (0.1, 1.2, 2.1) = 2.1
m (0)
k 3(0) = f (x 0 + h2 , y 0 + h2 k 2(0) , z 0 + h 22 ) = f (0.1, 1.21, 2.05) = 2.05
k 4(0) = f (x 0 + h, y 0 + hk 3(0) , z 0 + hm 3(0) ) = f (0.2, 1.41, 2.12) = 2.12
y 1 = 1.414

z 1 = z 0 + h6 (m 1(0) + 2m 2(0) + 2m 3(0) + m 4(0) )


m 1(0) = g (x 0 , y 0 , z 0 ) = g (0, 1, 2) = 1
m 1(0)
m 2(0) = g (x 0 + h2 , y 0 + h2 k 1(0) , z 0 + h2
) = g (0.1, 1.2, 2.1) = 0.5
(0)
m
m 3(0) = g (x 0 + h2 , y 0 + h2 k 2(0) , z 0 + h 22 ) = g (0.1, 1.21, 2.05) = 0.6
m 4(0) = g (x 0 + h, y 0 + hk 3(0) , z 0 + hm 3(0) ) = g (0.2, 1.41, 2.12) = 0.16
z 1 = 2.112

y 2 = y 1 + h6 (k 1(1) + 2k 2(1) + 2k 3(1) + k 4(1) )


k 1(1) = f (x 1 , y 1 , z 1 ) = f (0.2, 1.414, 2.112) = 2.112
m 1(1)
k 2(1) = f (x 1 + h2 , y 1 + h2 k 1(1) , z 1 + h 2
) = f (0.3, 1.6252, 2.1296) = 2.1296
(1)
m
k 3(1) = f (x 1 + h2 , y 1 + h2 k 2(1) , z 1 + h 22 ) = f (0.3, 1.627, 2.0961) = 2.0961
k 4(1) = f (x 1 + h, y 1 + hk 3(1) , z 1 + hm 3(1) ) = f (0.4, 1.8332, 2.0936) = 2.0936
y 2 = 1.8359

19
z 2 = z 1 + h6 (m 1(1) + 2m 2(1) + 2m 3(1) + m 4(1) )
m 1(1) = g (x 1 , y 1 , z 1 ) = g (0.2, 1.414, 2.112) = 0.176
m 1(1)
m 2(1) = g (x 1 + h2 , y 1 + h2 k 1(1) , z 1 + h 2
) = g (0.3, 1.6252, 2.1296) = −0.1592
(1)
m
m 3(1) = g (x 1 + h2 , y 1 + h2 k 2(1) , z 1 + h 22 ) = g (0.3, 1.627, 2.0961) = −0.0922
m 4(1) = g (x 1 + h, y 1 + hk 3(1) , z 1 + hm 3(1) ) = g (0.4, 1.8332, 2.0936) = −0.3872
z 2 = 2.0966

y 3 = y 2 + h6 (k 1(2) + 2k 2(2) + 2k 3(2) + k 4(2) )


k 1(2) = f (x 2 , y 2 , z 2 ) = f (0.4, 1.8359, 2.0966) = 2.0966
m 1(2)
k 2(2) = f (x 2 + h2 , y 2 + h2 k 1(2) , z 2 + h 2 )= f (0.5, 2.0456, 2.0573) = 2.0573
(2)
m
k 3(2) = f (x 2 + h2 , y 2 + h2 k 2(2) , z 2 + h 22 ) =
f (0.5, 2.0416, 2.0351) = 2.0351
k 4(2) = f (x 2 + h, y 2 + hk 3(2) , z 2 + hm 3(2) ) =f (0.6, 2.2429, 1.9826) = 1.9826
y 3 = 2.2447

z 3 = z 2 + h6 (m 1(2) + 2m 2(2) + 2m 3(2) + m 4(2) )


m 1(2) = g (x 2 , y 2 , z 2 ) = g (0.4, 1.8359, 2.0966) = −0.3932
m 1(2)
m 2(2) = g (x 2 + h2 , y 2 + h2 k 1(2) , z 2 + h 2 ) = g (0.5, 2.0456, 2.0573) = −0.6146
(2)
m
m 3(2) = g (x 2 + h2 , y 2 + h2 k 2(2) , z 2 + h 22 ) = g (0.5, 2.0416, 2.0351) = −0.5702
m 4(2) = g (x 2 + h, y 2 + hk 3(2) , z 2 + hm 3(2) ) = g (0.6, 2.2429, 1.9826) = −0.7652
z 3 = 2.0185

k xk yk zk

0 0 1 2

1 0.2 1.414 2.112

2 0.4 1.8359 2.0966

3 0.6 2.2447 2.0185

Tablica 4: Cauchyjev problem y 00 + 2y 0 + 3x = 5, y(0)=1, y’(0)=2 x ∈ [0, 0.6]

20
Literatura
[1] B. P. Demidovič, Zadaci i riješeni primjeri iz više matematike s primjenom na tehničke na-
uke, Tehnička knjiga, Zagreb, 1974.

[2] Z. Drmač, M. Marušić, S. Singer, V. Hari, M. Rogina, S. Singer, Numerička analiza, PMF -
Matematički odjel, Sveučilište u Zagrebu, 2003.

[3] R. Scitovski, Numerička matematika, 3. izmijenjeno i dopunjeno izdanje, Odjel za mate-


matiku, Sveučilište u Osijeku, 2015.

[4] E. Süli, D. Mayers, An introduction to numerical analysis , Cambridge University Press,


Cambridge, 2006.

[5] J. Todić, Numeričko rješavanje običnih diferencijalnih jednadžbi za inicijalni problem,


Diplomski rad, Odjel za matematiku, Sveučilište u Osijeku, 2011.

21

You might also like