Professional Documents
Culture Documents
6 VJ
6 VJ
dy
= f (x, y), y(x0 ) = y0 ,
dx
yn+1 = yn + hn f (xn , yn ), n = 0, 1, . . . ,
1
yn+1 = yn + (k1 + k2 ), n = 0, 1, 2, . . . ,
2
gdje je
k1 = hn f (xn , yn )
k2 = hn f (xn + hn , yn + k1 ),
1
yn+1 = yn + (k1 + 2k2 + 2k3 + k4 ), n = 0, 1, 2, . . . ,
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 ).
Ako umjesto jedne jednadžbe želimo rješavati sustav jednadžbi, onda treba
upamtiti da veličine yn , kn i f (xn , yn ) postaju vektori, dok hn i xn ostaju ska-
lari.
97
Ako želite riješiti diferencijalnu jednadžbu višeg reda, prvo je treba svesti na
sustav prvog reda.
Diferencijalna jednadžba je kruta ako mala perturbacija početnih vodi na veliku
perturbaciju u rješenju.
Zadatak 6.1. Eulerovom metodom s korakom h = 0.5 nađite rješenje diferencijalne
jedandžbe
dy
= y 2 + x, y(0) = 0.25.
dx
u točki x = 0.5.
Rješenje. Primijetite da nam je potreban samo jedan korak, jer startamo iz točke
x0 = 0 u kojoj je y0 = 0.25. U sljedećem koraku smo u x1 = x0 + h = 0.5. Funkcija
je
f (x, y) = y 2 + x,
pa dobivamo
Nadalje,
1 1
y1 = y0 + (k1 + k2 ) = 0.25 + (0.03125 + 0.28955078) = 0.41040039.
2 2
Za RK-4 imamo
Nadalje
1
y1 = y0 + (k1 + 2k2 + 2k3 + k4 )
6
1
= 0.25 + (0.03125 + 2 · 0.16027832 + 2 · 0.17949593 + 0.34223338)
6
= 0.42550531.
y 0 + y = sin x + 3 cos x
k1 = hn f (xn , yn ),
1 1
k2 = hn f xn + h, yn + k1 ,
2 2
k3 = hn f (xn + h, yn − k1 + 2k2 ),
Egzaktno rješenje je
y0 = x + y
f (x, y) = x + y.
y1 = y0 + hf (x1 , y1 ) = y0 + h(x1 + y1 ),
y 0 = xy + x + 1,
3 1
yn+2 = yn+1 + hf (xn+1 , yn+1 ) − hf (xn , yn ), n ≥ 0,
2 2
Budući da su na početku potrebne dvije vrijednosti, y0 i y1 , vrijednost y1 računamo
RK-1 metodom. Korištenjem dvokoračne metode s korakom h = 0.1 nađite približno
rješenje zadane diferencijalne jednadžbe u x = 0.3.
100 6. Početni problem za obične diferencijalne jednadžbe
y1 (x) = ex sin x
y2 (x) = ex cos x
y1 (0.2) = 0.24265527
y2 (0.2) = 1.19705602,
y (4) + (x + 1)y 0 + y + x + 1 = 0
y0 = z
z 000 + (x + 1)z + y + x + 1 = 0.
102 6. Početni problem za obične diferencijalne jednadžbe
y0 = z
z0 = u
u00 + (x + 1)z + y + x + 1 = 0.
y0 = z
z0 = u
u0 = v
v 0 + (x + 1)z + y + x + 1 = 0,
y0 =z
z0 =u
u0 =v
v0 = −(x + 1)z − y − x − 1.
Ako zadamo i početne uvjete (u kojima na isti način supstituiramo varijable), onda
možemo takvu diferencijalnu jednadžbu riješiti proizvoljnom RK-metodom. U vek-
toru rješenja su komponente redom y(xn ), y 0 (xn ), y 00 (xn ), y 000 (xn ).
Zadatak 6.8. Diferencijalna jednadžba
uz početne uvjete y(0) = 1, y 0 (0) = 0, y 00 (0) = −1, y (3) = 0 ima egzaktno rješenje
y(x) = cos x. Diferencijalnu jednadžbu prvo svedite na sustav diferencijalnih jed-
nadžbi prvog reda, a zatim nađite njeno približno rješenje Runge–Kutta metodom 1.
reda za x = 0.5 uz korak h = 0.5. Odredite apsolutnu grešku dobivene aproksimacije
s obzirom na egzaktno rješenje.
Rješenje. Uvodimo supstitucije
y 0 = z,
z 0 = y 00 = u,
u0 = y 000 = v,
v 0 = y (4) = y 2 + sin2 x + cos x − 1,
y0 = z,
z0 = u,
u0 = v,
v0 = y 2 + sin2 x + cos x − 1.
103
Definiramo vektore
y y(0) 1 z
z y 0 (0) 0 u
f~(x, ~y ) =
~y =
u , ~y0 = ~y (0) = y 00 (0) = −1 ,
.
v
v y 000 (0) 0 2 2
y + sin x + cos x − 1
Rješenje ćemo dobiti u prvom koraku jer tražimo aproksimaciju u x1 = 0.5 = x0 +h,
0 0.5 0.5
y(0.5) ≈ 0.8775826,
y(x) = c1 e−25x + x2 − x.
tj.
2 = c1 e25 + 2,
pa je c1 = 0.
Dakle, partikularno rješenje te diferencijalne jednadžbe je
y(x) = x2 − x.
104 6. Početni problem za obične diferencijalne jednadžbe
y(−1) = 2 + ε, |ε| 1.
tj.
2 + ε = c1 e25 + 2,
pa je
ε
c1 = .
e25
Tada je partikularno rješenje
ε −25x
y(x) = e + x2 − x = εe−25(x+1) + x2 − x.
e25
Usporedimo sad oba partikularna rješenja. Pitanje je samo hoće li član
e−25(x+1)
dominirati nad x2 − x za x > −1. Jasno je da neće, jer funkcija e−25(x+1) brzo pada
kad x raste, pa diferencijalna jednadžba nije kruta.
Ako po x “nazadujemo” tj. od većih x idemo na manje, onda eksponent u e−25(x+1)
za x < −1 postane pozitivan, pa diferencijalna jednadžba postane kruta.
Zadatak 6.10. Poznato je opće rješenje neke diferencijalne jednadžbe koje glasi
y(x) = c1 e25x + x2 − x.
tj.
2 = c1 e−25 + 2,
pa je c1 = 0.
Dakle, partikularno rješenje te diferencijalne jednadžbe je
y(x) = x2 − x.
y(−1) = 2 + ε, |ε| 1.
105
tj.
2 + ε = c1 e−25 + 2,
pa je
ε
c1 = = εe25 .
e−25
Tada je partikularno rješenje
e25(x+1)
dominirati nad x2 − x za x > −1. Jasno je da hoće, jer funkcija e25(x+1) brzo raste
kad x raste, pa će x2 −x vrlo brzo postati malo prema dotičnom članu. Zaključujemo
diferencijalna jednadžba je kruta.
Ako po x “nazadujemo” tj. od većih x idemo na manje, onda eksponent u e25(x+1)
za x < −1 postane negativan, pa diferencijalna jednadžba u tom smjeru nije kruta.